home *** CD-ROM | disk | FTP | other *** search
/ InfoMagic Standards 1994 January / InfoMagic Standards - January 1994.iso / iso / 9660 / rockrdge / rrg.15 / rrip.troff
Text File  |  1992-08-19  |  143KB  |  6,121 lines

  1. .nr O 1.2i
  2. .nr W 6i
  3. .PH ""        \" Supress the -1- page header on the first page
  4. .\" The entire document uses fonts designated as numbers so the following
  5. .\" three lines may be changed to change the "look" of the document.
  6. .fp 1 R        \" This is the standard (i.e. non-Bold/Italic) font position
  7. .fp 2 I        \" This is the Italic font position
  8. .fp 3 B        \" This is the Bold font position
  9. .fp 4 S        \" This is the HP logo
  10. .nr P 0        \" Set first page to be page 1
  11. .\" HF sets type for .H headings 3==bold, 2==italics for levels 1-7
  12. .ds HF 3 3 3 3 3 3 3
  13. .\" HF sets size for .H headings, for level 1-7
  14. .ds HP 14 12 11 11 11 11 11
  15. .nr Ej 1    \" Start level 1 headings on new page.
  16. .nr Hb 6    \" Headings 7 & up are part of the following paragraph
  17. .nr Hs 6    \" Headings 1-6 are automatically followed by blank line
  18. .nr Hi 1    \" Indent text following heading like paragraph (default)
  19. .nr Hc 0    \" No headings are centered (default)
  20. .nr Hu 1    \" Unnumbered headings level 1 
  21. .tr ~         \" Use ~ for unpaddable space character
  22. .ad b        \" Right-justify on
  23. .nr Hy 0    \" No hyphenation
  24. .nr Pi 5    \" Indent paragraphs 5 spaces
  25. .nr Pt 1    \" Indent paragraphs Pi spaces
  26. .nr Cl 6    \" Save first 6 heading levels for table of contents
  27. .\" Set up global formatting stuff
  28. .in 0i
  29. .ll 6i
  30. .vs 12p
  31. .pl 10.5i
  32. .ps 10
  33. .\" Set up the page count as if no coversheet will be added.  If there is
  34. .\" one added, it will override .nr PC to be one more than the amount below.
  35. .nr PC 41
  36. .\" Set this flag to be 0 (no coversheet), if a coversheet is there, it
  37. .\" will override it.
  38. .nr CS 0
  39. ~
  40. .sp |2.5i
  41. .ce 17
  42. .ps 25
  43. .ft 3
  44. ROCK RIDGE INTERCHANGE 
  45.  
  46.  
  47. PROTOCOL
  48. .ps 20
  49. .ft 3
  50.  
  51.  
  52. VERSION 1
  53. .sp 80p
  54. .ps 20
  55. .ft 3
  56. AN IS0 9660:1988 COMPLIANT APPROACH
  57.  
  58. TO PROVIDING ADEQUATE CD-ROM SUPPORT
  59.  
  60. FOR POSIX FILE SYSTEM SEMANTICS
  61. .sp 80p
  62. .ps 16
  63. .ft 3
  64. ROCK RIDGE TECHNICAL 
  65.  
  66. WORKING GROUP
  67. .ps 12
  68. .ft 1
  69. .sp 3v
  70. Revision 1.09
  71. .sp 3v
  72. .\" Put names of authors here, if any
  73. cdtec@dgdo.Eng.Sun.COM
  74. .ps 14
  75. .sp 3v
  76. PROPOSAL
  77. .bp
  78. .\"
  79. .\" If no coversheet, set up odd/even different headers & footers
  80. .\" else set up the same headers & footers
  81. .ie \n(CS \{\
  82. .   OH "'Rock Ridge Group''Rock Ridge Interchange Protocol'" 
  83. .   EH "'Rock Ridge Group''Rock Ridge Interchange Protocol'" 
  84. .   bp
  85. .   OF "'\\*(DT'                     'Page \\\\nP of \\\\n(PC'"
  86. .   EF "'\\*(DT'                     'Page \\\\nP of \\\\n(PC'" \}
  87. .el \{\
  88. .   OH "'Rock Ridge Group''Rock Ridge Interchange Protocol'" 
  89. .   EH "'Rock Ridge Interchange Protocol''Rock Ridge Group'"
  90. .   bp
  91. .   OF "'\\*(DT'                     'Page \\\\nP of \\\\n(PC'"
  92. .   EF "'Page \\\\nP of \\\\n(PC'                     '\\*(DT'" \}
  93. .rs
  94.  
  95. .ce
  96. ( This page should be replaced with a blank page for back of title )
  97. .bp
  98.  
  99. .ce
  100. ( This page should be replaced with the Table of Contents )
  101. .bp
  102.  
  103. .ce
  104. ( This page should be replaced with a blank page for back of TOC )
  105. .bp
  106.  
  107. .ce
  108. ( This page should be replaced with the List of Tables  )
  109. .bp
  110.  
  111. .ce
  112. ( This page should be replaced with a blank page for back of Tables )
  113. .pn 1
  114. .sp
  115. .H 1 "PREFACE"
  116. .sp
  117. .H 2 "Purpose and Scope"
  118. .sp
  119. Producers and users of POSIX compliant systems and software have faced a
  120. significant, yet artificial, barrier to their effectively using CD-ROM
  121. technology for software distribution and information publishing --
  122. ISO 9660:1988 alone provides inadequate support for delivery of POSIX 
  123. file system information. 
  124. The Rock Ridge Group was formed to generate a 
  125. proposed standard for utilizing the System Use Areas provided by the 
  126. ISO 9660 standard to record complete POSIX file system semantics.
  127. This proposal utilizes the System Use Sharing Protocol for recording this 
  128. information.
  129. .sp
  130. .H 2 "Summary of Sections"
  131. .sp
  132. .TS
  133. .if \n+(b.=1 .nr d. \n(.c-\n(c.-1
  134. .de 35
  135. .ps \n(.s
  136. .vs \n(.vu
  137. .in \n(.iu
  138. .if \n(.u .fi
  139. .if \n(.j .ad
  140. .if \n(.j=0 .na
  141. ..
  142. .nf
  143. .nr #~ 0
  144. .if \n(.T .if n .nr #~ 0.6n
  145. .ds #d .d
  146. .if \(ts\n(.z\(ts\(ts .ds #d nl
  147. .fc
  148. .nr 33 \n(.s
  149. .rm 46 47
  150. .nr 46 0
  151. .nr 38 \wSection 1
  152. .if \n(46<\n(38 .nr 46 \n(38
  153. .nr 38 \wSection 2
  154. .if \n(46<\n(38 .nr 46 \n(38
  155. .nr 38 \wSection 3
  156. .if \n(46<\n(38 .nr 46 \n(38
  157. .nr 38 \wSection 4
  158. .if \n(46<\n(38 .nr 46 \n(38
  159. .nr 38 \wSection 5
  160. .if \n(46<\n(38 .nr 46 \n(38
  161. .nr 38 \wSection 6
  162. .if \n(46<\n(38 .nr 46 \n(38
  163. .46
  164. .rm 46
  165. .nr 47 0
  166. .nr 38 \wContains this preface.
  167. .if \n(47<\n(38 .nr 47 \n(38
  168. .nr 38 \wContains an overview of the Rock Ridge Interchange Protocol.
  169. .if \n(47<\n(38 .nr 47 \n(38
  170. .nr 38 \wContains an overview of the notation used in this document.
  171. .if \n(47<\n(38 .nr 47 \n(38
  172. .nr 38 \wContains the Rock Ridge Interchange Protocol.
  173. .if \n(47<\n(38 .nr 47 \n(38
  174. .nr 38 \wContains the RRIP Application Programming Interface.
  175. .if \n(47<\n(38 .nr 47 \n(38
  176. .nr 38 \wContains the bibliography.
  177. .if \n(47<\n(38 .nr 47 \n(38
  178. .47
  179. .rm 47
  180. .nr 38 1n
  181. .nr 45 0
  182. .nr 40 \n(45+((0*\n(38)/2)
  183. .nr 46 +\n(40
  184. .nr 41 \n(46+((6*\n(38)/2)
  185. .nr 47 +\n(41
  186. .nr TW \n(47
  187. .if t .if (\n(TW+\n(.o)>7.65i .tm Table at line 141 file Input is too wide - \n(TW units
  188. .nr #I \n(.i
  189. .in +(\n(.lu-\n(TWu-\n(.iu)/2u
  190. .fc  
  191. .nr #T 0-1
  192. .nr #a 0-1
  193. .eo
  194. .de T#
  195. .nr 35 1m
  196. .ds #d .d
  197. .if \(ts\n(.z\(ts\(ts .ds #d nl
  198. .mk ##
  199. .nr ## -1v
  200. .ls 1
  201. .ls
  202. ..
  203. .ec
  204. .ta \n(46u \n(47u 
  205. .nr 35 1m
  206. .nr 31 \n(.f
  207. \&\h'|\n(40u'Section 1\h'|\n(41u'Contains this preface.
  208. .ta \n(46u \n(47u 
  209. .nr 35 1m
  210. .nr 31 \n(.f
  211. \&\h'|\n(40u'Section 2\h'|\n(41u'Contains an overview of the Rock Ridge Interchange Protocol.
  212. .ta \n(46u \n(47u 
  213. .nr 35 1m
  214. .nr 31 \n(.f
  215. \&\h'|\n(40u'Section 3\h'|\n(41u'Contains an overview of the notation used in this document.
  216. .ta \n(46u \n(47u 
  217. .nr 35 1m
  218. .nr 31 \n(.f
  219. \&\h'|\n(40u'Section 4\h'|\n(41u'Contains the Rock Ridge Interchange Protocol.
  220. .ta \n(46u \n(47u 
  221. .nr 35 1m
  222. .nr 31 \n(.f
  223. \&\h'|\n(40u'Section 5\h'|\n(41u'Contains the RRIP Application Programming Interface.
  224. .ta \n(46u \n(47u 
  225. .nr 35 1m
  226. .nr 31 \n(.f
  227. \&\h'|\n(40u'Section 6\h'|\n(41u'Contains the bibliography.
  228. .fc
  229. .nr T. 1
  230. .T# 1
  231. .in \n(#Iu
  232. .35
  233. .TE
  234. .if \n-(b.=0 .nr c. \n(.c-\n(d.-9
  235. .bp
  236. .\" Blank page for back of this chapter
  237. .ce 
  238.        
  239.         
  240.        
  241.          
  242. .sp
  243. .H 1 "OVERVIEW"
  244. .sp
  245. The Rock Ridge Interchange Protocol (RRIP) specifies an extension to the
  246. ISO 9660 format for CD-ROM which enables the recording of POSIX File
  247. System semantics.
  248. The RRIP utilizes the System Use Sharing Protocol (SUSP) to specify
  249. the definition of a set of System Use Fields for this purpose.
  250. .sp
  251. The RRIP specifies the definition of a set of System Use Fields for 
  252. recording:
  253. .sp
  254. .VL 15
  255. .BL
  256. .LI
  257. uid, gid, and permissions
  258. .LI
  259. file mode bits, file types, setuid, setgid, and sticky bit
  260. .LI
  261. file links
  262. .LI
  263. device nodes
  264. .LI
  265. symbolic links
  266. .LI
  267. POSIX file names
  268. .LI
  269. reconstruction of deep directories
  270. .LI
  271. time stamps
  272. .LE
  273. .bp
  274. .\" Blank page for back of this chapter
  275. .ce 
  276.        
  277.         
  278.        
  279.          
  280. .sp
  281. .H 1 "TERMINOLOGY AND NOTATION"
  282. .sp
  283. It is assumed that the RRIP is being recorded within an ISO 9660:1988
  284. compliant volume using the System Use Sharing Protocol (SUSP:1991A).
  285. Unless defined herein, or otherwise specified, terms shall be as defined
  286. in ISO 9660:1988 or SUSP:1991A.
  287. .sp
  288. The following notation is used in this document.
  289. .sp
  290. .H 2 "Decimal and Hexadecimal Notation"
  291. .sp
  292. Numbers in decimal notation are represented by decimal digits, namely
  293. 0 to 9.
  294. .sp
  295. Numbers in hexadecimal notation are represented by hexadecimal digits,
  296. namely 0 to 9 and A to F, shown in parentheses. 
  297. E.g. the hexadecimal number 7F will be written as (7F).
  298. .sp
  299. .H 2 "File Naming Conventions"
  300. .sp
  301. In all fields defined in ISO 9660:1988, the character set to be used
  302. shall be as specified in ISO 9660.
  303. The character set to be used in the System Use Fields defined herein
  304. shall depend upon whether the fields are recorded in a directory tree
  305. associated with a Primary Volume Descriptor or a Supplementary Volume
  306. Descriptor.
  307. .sp
  308. .H 3 "Primary Volume Descriptor File Naming Convention"
  309. .sp
  310. Within a directory tree identified by a Primary Volume Descriptor of
  311. an ISO 9660 volume, the character set used in the System Use Fields
  312. defined for the RRIP shall be the ISO Standard 8859-1:1987, as
  313. specified in the X/Open Portability Guide Issue 3, XSI Supplementary
  314. Definitions.
  315. For general portability across most POSIX compatible systems, the 
  316. 7-bit U.S. ASCII character set should be used.
  317. .sp
  318. The POSIX File Naming Convention states that the filename may be
  319. composed of any character except slash (2F) and the null byte (00).
  320. The special filename, dot (2E), refers to the directory specified
  321. by its predecessor.
  322. The special filename dot-dot (2E)(2E), refers to the parent directory 
  323. of its predecessor directory.
  324. .sp
  325. For maximum portability across implementations conforming to the
  326. POSIX Standard, filenames should only contain the following characters:
  327. .sp
  328. .TS
  329. .if \n+(b.=1 .nr d. \n(.c-\n(c.-1
  330. .de 35
  331. .ps \n(.s
  332. .vs \n(.vu
  333. .in \n(.iu
  334. .if \n(.u .fi
  335. .if \n(.j .ad
  336. .if \n(.j=0 .na
  337. ..
  338. .nf
  339. .nr #~ 0
  340. .if \n(.T .if n .nr #~ 0.6n
  341. .ds #d .d
  342. .if \(ts\n(.z\(ts\(ts .ds #d nl
  343. .fc
  344. .nr 33 \n(.s
  345. .rm 46 47
  346. .nr 46 0
  347. .nr 38 \w(41) thru (5A)
  348. .if \n(46<\n(38 .nr 46 \n(38
  349. .nr 38 \w(61) thru (7A)
  350. .if \n(46<\n(38 .nr 46 \n(38
  351. .nr 38 \w(30) thru (39)
  352. .if \n(46<\n(38 .nr 46 \n(38
  353. .nr 38 \w(2E)
  354. .if \n(46<\n(38 .nr 46 \n(38
  355. .nr 38 \w(5F)
  356. .if \n(46<\n(38 .nr 46 \n(38
  357. .nr 38 \w(2D)
  358. .if \n(46<\n(38 .nr 46 \n(38
  359. .46
  360. .rm 46
  361. .nr 47 0
  362. .nr 38 \w\'A\' thru \'Z\'
  363. .if \n(47<\n(38 .nr 47 \n(38
  364. .nr 38 \w\'a\' thru \'z\'
  365. .if \n(47<\n(38 .nr 47 \n(38
  366. .nr 38 \w\'0\' thru \'9\'
  367. .if \n(47<\n(38 .nr 47 \n(38
  368. .nr 38 \wperiod
  369. .if \n(47<\n(38 .nr 47 \n(38
  370. .nr 38 \wunderscore
  371. .if \n(47<\n(38 .nr 47 \n(38
  372. .nr 38 \whyphen
  373. .if \n(47<\n(38 .nr 47 \n(38
  374. .47
  375. .rm 47
  376. .nr 38 1n
  377. .nr 45 0
  378. .nr 40 \n(45+((0*\n(38)/2)
  379. .nr 46 +\n(40
  380. .nr 41 \n(46+((6*\n(38)/2)
  381. .nr 47 +\n(41
  382. .nr TW \n(47
  383. .if t .if (\n(TW+\n(.o)>7.65i .tm Table at line 244 file Input is too wide - \n(TW units
  384. .nr #I \n(.i
  385. .in +(\n(.lu-\n(TWu-\n(.iu)/2u
  386. .fc  
  387. .nr #T 0-1
  388. .nr #a 0-1
  389. .eo
  390. .de T#
  391. .nr 35 1m
  392. .ds #d .d
  393. .if \(ts\n(.z\(ts\(ts .ds #d nl
  394. .mk ##
  395. .nr ## -1v
  396. .ls 1
  397. .ls
  398. ..
  399. .ec
  400. .ta \n(46u \n(47u 
  401. .nr 35 1m
  402. .nr 31 \n(.f
  403. \&\h'|\n(40u'(41) thru (5A)\h'|\n(41u'\'A\' thru \'Z\'
  404. .ta \n(46u \n(47u 
  405. .nr 35 1m
  406. .nr 31 \n(.f
  407. \&\h'|\n(40u'(61) thru (7A)\h'|\n(41u'\'a\' thru \'z\'
  408. .ta \n(46u \n(47u 
  409. .nr 35 1m
  410. .nr 31 \n(.f
  411. \&\h'|\n(40u'(30) thru (39)\h'|\n(41u'\'0\' thru \'9\'
  412. .ta \n(46u \n(47u 
  413. .nr 35 1m
  414. .nr 31 \n(.f
  415. \&\h'|\n(40u'(2E)\h'|\n(41u'period
  416. .ta \n(46u \n(47u 
  417. .nr 35 1m
  418. .nr 31 \n(.f
  419. \&\h'|\n(40u'(5F)\h'|\n(41u'underscore
  420. .ta \n(46u \n(47u 
  421. .nr 35 1m
  422. .nr 31 \n(.f
  423. \&\h'|\n(40u'(2D)\h'|\n(41u'hyphen
  424. .fc
  425. .nr T. 1
  426. .T# 1
  427. .in \n(#Iu
  428. .35
  429. .TE
  430. .if \n-(b.=0 .nr c. \n(.c-\n(d.-9
  431. .sp
  432. Upper and lower case letters shall retain their unique identities
  433. between conforming implementations.
  434. .sp
  435. .H 3 "Supplementory Volume Descriptor File Naming Convention"
  436. .sp
  437. Within a directory tree identified by a Supplementary Volume Descriptor
  438. of an ISO 9660 volume, the character set used in the System Use Fields
  439. defined for the RRIP shall be the coded graphic character set(s) identified by
  440. the escape sequence(s) in the Supplementary Volume Descriptor
  441. (c-characters, section 7.4.2, ISO 9660:1988).
  442. .sp
  443. .H 2 "Reader Makes Right"
  444. .sp
  445. Receiving systems which are capable of interpreting the System Use Fields
  446. defined herein, but which cannot handle the full extent of the file naming
  447. convention utilized by this specification may have to restrict themselves
  448. to the use of the ISO 9660 compliant file names stored in the File Identifier
  449. field of the ISO 9660 directory structure.
  450. .sp
  451. Alternatively, the developer of the receiving system may choose to provide
  452. file name conversion capability.
  453. Any such system must provide unique names for all unique files on the disc.
  454. .sp
  455. In general, whenever there is recorded a (potentially) system-specific
  456. identifier or numerical value, accomplishing any necessary modifications
  457. or mapping of these are the responsibility of the receiving system.
  458. This document provides for an Application Programming Interface (API)
  459. to support this function.
  460. .sp
  461. .sp
  462. .H 1 "ROCK RIDGE INTERCHANGE PROTOCOL"
  463. .sp
  464. The Rock Ridge Interchange Protocol (RRIP) utilizes System Use Areas
  465. provided by ISO 9660:1988.
  466. The System Use Area of the Directory Record is used to record the POSIX
  467. file system information.
  468. The System Use Sharing Protocol is used for recording information in
  469. each of these areas.
  470. .sp
  471. .H 2 "System Use Fields Provided by this Specification"
  472. .sp
  473. The Rock Ridge Interchange Protocol defines the following fundamental 
  474. System Use Fields:
  475. .sp
  476. .TS
  477. .if \n+(b.=1 .nr d. \n(.c-\n(c.-1
  478. .de 35
  479. .ps \n(.s
  480. .vs \n(.vu
  481. .in \n(.iu
  482. .if \n(.u .fi
  483. .if \n(.j .ad
  484. .if \n(.j=0 .na
  485. ..
  486. .nf
  487. .nr #~ 0
  488. .if \n(.T .if n .nr #~ 0.6n
  489. .ds #d .d
  490. .if \(ts\n(.z\(ts\(ts .ds #d nl
  491. .fc
  492. .nr 33 \n(.s
  493. .rm 46 47
  494. .nr 46 0
  495. .nr 38 \w"PX"
  496. .if \n(46<\n(38 .nr 46 \n(38
  497. .nr 38 \w"PN"
  498. .if \n(46<\n(38 .nr 46 \n(38
  499. .nr 38 \w"SL"
  500. .if \n(46<\n(38 .nr 46 \n(38
  501. .nr 38 \w"NM"
  502. .if \n(46<\n(38 .nr 46 \n(38
  503. .nr 38 \w"CL"
  504. .if \n(46<\n(38 .nr 46 \n(38
  505. .nr 38 \w"PL"
  506. .if \n(46<\n(38 .nr 46 \n(38
  507. .nr 38 \w"RE"
  508. .if \n(46<\n(38 .nr 46 \n(38
  509. .nr 38 \w"TF"
  510. .if \n(46<\n(38 .nr 46 \n(38
  511. .nr 38 \w"RR"
  512. .if \n(46<\n(38 .nr 46 \n(38
  513. .46
  514. .rm 46
  515. .nr 47 0
  516. .nr 38 \wPOSIX file attributes
  517. .if \n(47<\n(38 .nr 47 \n(38
  518. .nr 38 \wPOSIX device modes
  519. .if \n(47<\n(38 .nr 47 \n(38
  520. .nr 38 \wSymbolic link
  521. .if \n(47<\n(38 .nr 47 \n(38
  522. .nr 38 \wAlternate name
  523. .if \n(47<\n(38 .nr 47 \n(38
  524. .nr 38 \wChild link
  525. .if \n(47<\n(38 .nr 47 \n(38
  526. .nr 38 \wParent link
  527. .if \n(47<\n(38 .nr 47 \n(38
  528. .nr 38 \wRelocated directory
  529. .if \n(47<\n(38 .nr 47 \n(38
  530. .nr 38 \wTime stamp(s) for a file
  531. .if \n(47<\n(38 .nr 47 \n(38
  532. .nr 38 \wFlags indicating which fields are recorded
  533. .if \n(47<\n(38 .nr 47 \n(38
  534. .47
  535. .rm 47
  536. .nr 38 1n
  537. .nr 45 0
  538. .nr 40 \n(45+((0*\n(38)/2)
  539. .nr 46 +\n(40
  540. .nr 41 \n(46+((6*\n(38)/2)
  541. .nr 47 +\n(41
  542. .nr TW \n(47
  543. .if t .if (\n(TW+\n(.o)>7.65i .tm Table at line 302 file Input is too wide - \n(TW units
  544. .nr #I \n(.i
  545. .in +(\n(.lu-\n(TWu-\n(.iu)/2u
  546. .fc  
  547. .nr #T 0-1
  548. .nr #a 0-1
  549. .eo
  550. .de T#
  551. .nr 35 1m
  552. .ds #d .d
  553. .if \(ts\n(.z\(ts\(ts .ds #d nl
  554. .mk ##
  555. .nr ## -1v
  556. .ls 1
  557. .ls
  558. ..
  559. .ec
  560. .ta \n(46u \n(47u 
  561. .nr 35 1m
  562. .nr 31 \n(.f
  563. \&\h'|\n(40u'"PX"\h'|\n(41u'POSIX file attributes
  564. .ta \n(46u \n(47u 
  565. .nr 35 1m
  566. .nr 31 \n(.f
  567. \&\h'|\n(40u'"PN"\h'|\n(41u'POSIX device modes
  568. .ta \n(46u \n(47u 
  569. .nr 35 1m
  570. .nr 31 \n(.f
  571. \&\h'|\n(40u'"SL"\h'|\n(41u'Symbolic link
  572. .ta \n(46u \n(47u 
  573. .nr 35 1m
  574. .nr 31 \n(.f
  575. \&\h'|\n(40u'"NM"\h'|\n(41u'Alternate name
  576. .ta \n(46u \n(47u 
  577. .nr 35 1m
  578. .nr 31 \n(.f
  579. \&\h'|\n(40u'"CL"\h'|\n(41u'Child link
  580. .ta \n(46u \n(47u 
  581. .nr 35 1m
  582. .nr 31 \n(.f
  583. \&\h'|\n(40u'"PL"\h'|\n(41u'Parent link
  584. .ta \n(46u \n(47u 
  585. .nr 35 1m
  586. .nr 31 \n(.f
  587. \&\h'|\n(40u'"RE"\h'|\n(41u'Relocated directory
  588. .ta \n(46u \n(47u 
  589. .nr 35 1m
  590. .nr 31 \n(.f
  591. \&\h'|\n(40u'"TF"\h'|\n(41u'Time stamp(s) for a file
  592. .ta \n(46u \n(47u 
  593. .nr 35 1m
  594. .nr 31 \n(.f
  595. \&\h'|\n(40u'"RR"\h'|\n(41u'Flags indicating which fields are recorded
  596. .fc
  597. .nr T. 1
  598. .T# 1
  599. .in \n(#Iu
  600. .35
  601. .TE
  602. .if \n-(b.=0 .nr c. \n(.c-\n(d.-12
  603. .sp
  604. Additionally, this specification provides required identification information
  605. to be recorded in an "ER" (Extensions Reference) System Use Field for the
  606. purpose of identifying discs on which the Rock Ridge Interchange Protocol
  607. is implemented.
  608. .sp
  609. .H 3 "Description of the PX System Use Field"
  610. .sp
  611. Recording of the "PX" System Use Field in the System Use Area of
  612. each ISO 9660 directory record shall be mandatory.
  613. No more than one
  614. "PX" System Use Field shall appear in (all) the System Use Area(s) for
  615. a single directory record.
  616. .sp
  617. If the file type in a directory record is of type directory, then
  618. the POSIX File Mode Field ([BP 4] in this section) and File Flags (ISO
  619. 9660 Format section 9.1.6) should both indicate such, with the
  620. exception of relocated directories, indicated by a "CL" field (section
  621. 3.1.5.1), for which the ISO file flags shall indicate a normal file,
  622. but the POSIX File Mode Field shall indicate a directory.
  623. .sp
  624. The format of the "PX" System Use Field is as follows:
  625. .sp
  626. .VL 10 5
  627. .LI "[1]"
  628. "BP 1 to BP 2 - Signature Word" shall indicate that the System Use Field
  629. is a "PX" type System Use Field.
  630. The bytes in this field shall be (50)(58) ("PX").
  631. .LI "[2]"
  632. "BP 3 - Length" shall specify as an 8-bit number the length in
  633. bytes of the "PX" System Use Field.
  634. The number in this field shall be 36 for this version.
  635. This field shall be recorded according to ISO 9660:1988 Format 
  636. section 7.1.1.
  637. .bp
  638. .LI "[3]"
  639. "BP 4 - System Use Field Version" shall specify as an 8-bit number an
  640. identification of the version of the "PX" System Use Field.
  641. The number in this field shall be 1 for this version.
  642. This field shall be recorded according to ISO 9660:1988 Format
  643. section 7.1.1.
  644. .LI "[4]"
  645. "BP 5 to BP 12 - POSIX File Mode" has the same meaning as the st_mode
  646. defined in the header sys/stat.h by the IEEE Std 1003.1-1988.
  647. This field shall be recorded according to ISO 9660:1988 Format 
  648. section 7.3.3.
  649. The valid mask values for this field are combinations of the following:
  650. .sp
  651. .TS
  652. .if \n+(b.=1 .nr d. \n(.c-\n(c.-1
  653. .de 35
  654. .ps \n(.s
  655. .vs \n(.vu
  656. .in \n(.iu
  657. .if \n(.u .fi
  658. .if \n(.j .ad
  659. .if \n(.j=0 .na
  660. ..
  661. .nf
  662. .nr #~ 0
  663. .if \n(.T .if n .nr #~ 0.6n
  664. .ds #d .d
  665. .if \(ts\n(.z\(ts\(ts .ds #d nl
  666. .fc
  667. .nr 33 \n(.s
  668. .rm 46 47
  669. .nr 46 0
  670. .nr 38 \wOctal Value   
  671. .if \n(46<\n(38 .nr 46 \n(38
  672. .nr 38 \w\_
  673. .if \n(46<\n(38 .nr 46 \n(38
  674. .nr 38 \w0000400      
  675. .if \n(46<\n(38 .nr 46 \n(38
  676. .nr 38 \w0000200      
  677. .if \n(46<\n(38 .nr 46 \n(38
  678. .nr 38 \w0000100       
  679. .if \n(46<\n(38 .nr 46 \n(38
  680. .nr 38 \w0000040      
  681. .if \n(46<\n(38 .nr 46 \n(38
  682. .nr 38 \w0000020      
  683. .if \n(46<\n(38 .nr 46 \n(38
  684. .nr 38 \w0000010      
  685. .if \n(46<\n(38 .nr 46 \n(38
  686. .nr 38 \w0000004      
  687. .if \n(46<\n(38 .nr 46 \n(38
  688. .nr 38 \w0000002      
  689. .if \n(46<\n(38 .nr 46 \n(38
  690. .nr 38 \w0000001      
  691. .if \n(46<\n(38 .nr 46 \n(38
  692. .nr 38 \w 
  693. .if \n(46<\n(38 .nr 46 \n(38
  694. .nr 38 \w0004000      
  695. .if \n(46<\n(38 .nr 46 \n(38
  696. .nr 38 \w0002000     
  697. .if \n(46<\n(38 .nr 46 \n(38
  698. .nr 38 \w0002000      
  699. .if \n(46<\n(38 .nr 46 \n(38
  700. .nr 38 \w0001000      
  701. .if \n(46<\n(38 .nr 46 \n(38
  702. .nr 38 \w 
  703. .if \n(46<\n(38 .nr 46 \n(38
  704. .nr 38 \w0170000      
  705. .if \n(46<\n(38 .nr 46 \n(38
  706. .nr 38 \w0140000      
  707. .if \n(46<\n(38 .nr 46 \n(38
  708. .nr 38 \w0120000      
  709. .if \n(46<\n(38 .nr 46 \n(38
  710. .nr 38 \w0100000      
  711. .if \n(46<\n(38 .nr 46 \n(38
  712. .nr 38 \w0060000      
  713. .if \n(46<\n(38 .nr 46 \n(38
  714. .nr 38 \w0020000      
  715. .if \n(46<\n(38 .nr 46 \n(38
  716. .nr 38 \w0040000      
  717. .if \n(46<\n(38 .nr 46 \n(38
  718. .nr 38 \w0010000      
  719. .if \n(46<\n(38 .nr 46 \n(38
  720. .46
  721. .rm 46
  722. .nr 47 0
  723. .nr 38 \wMeaning
  724. .if \n(47<\n(38 .nr 47 \n(38
  725. .nr 38 \w\_
  726. .if \n(47<\n(38 .nr 47 \n(38
  727. .nr 38 \wread permission (owner)
  728. .if \n(47<\n(38 .nr 47 \n(38
  729. .nr 38 \wwrite permission (owner)
  730. .if \n(47<\n(38 .nr 47 \n(38
  731. .nr 38 \wexecute permission (owner)
  732. .if \n(47<\n(38 .nr 47 \n(38
  733. .nr 38 \wread permission (group)
  734. .if \n(47<\n(38 .nr 47 \n(38
  735. .nr 38 \wwrite permission (group)
  736. .if \n(47<\n(38 .nr 47 \n(38
  737. .nr 38 \wexecute permission (group)
  738. .if \n(47<\n(38 .nr 47 \n(38
  739. .nr 38 \wread permission (other)
  740. .if \n(47<\n(38 .nr 47 \n(38
  741. .nr 38 \wwrite permission (other)
  742. .if \n(47<\n(38 .nr 47 \n(38
  743. .nr 38 \wexecute permission (other)
  744. .if \n(47<\n(38 .nr 47 \n(38
  745. .nr 38 \w 
  746. .if \n(47<\n(38 .nr 47 \n(38
  747. .nr 38 \wset user ID on execution
  748. .if \n(47<\n(38 .nr 47 \n(38
  749. .nr 38 \wset group ID on execution
  750. .if \n(47<\n(38 .nr 47 \n(38
  751. .nr 38 \wenforced file locking (shared w/ set group ID)
  752. .if \n(47<\n(38 .nr 47 \n(38
  753. .nr 38 \wsave swapped text even after use
  754. .if \n(47<\n(38 .nr 47 \n(38
  755. .nr 38 \w 
  756. .if \n(47<\n(38 .nr 47 \n(38
  757. .nr 38 \wtype of file
  758. .if \n(47<\n(38 .nr 47 \n(38
  759. .nr 38 \wsocket
  760. .if \n(47<\n(38 .nr 47 \n(38
  761. .nr 38 \wsymbolic link
  762. .if \n(47<\n(38 .nr 47 \n(38
  763. .nr 38 \wregular
  764. .if \n(47<\n(38 .nr 47 \n(38
  765. .nr 38 \wblock special
  766. .if \n(47<\n(38 .nr 47 \n(38
  767. .nr 38 \wcharacter special
  768. .if \n(47<\n(38 .nr 47 \n(38
  769. .nr 38 \wdirectory
  770. .if \n(47<\n(38 .nr 47 \n(38
  771. .nr 38 \wpipe or FIFO
  772. .if \n(47<\n(38 .nr 47 \n(38
  773. .47
  774. .rm 47
  775. .nr 38 1n
  776. .nr 45 0
  777. .nr 40 \n(45+((0*\n(38)/2)
  778. .nr 46 +\n(40
  779. .nr 41 \n(46+((6*\n(38)/2)
  780. .nr 47 +\n(41
  781. .nr TW \n(47
  782. .if t .if (\n(TW+\n(.o)>7.65i .tm Table at line 379 file Input is too wide - \n(TW units
  783. .nr #I \n(.i
  784. .in +(\n(.lu-\n(TWu-\n(.iu)/2u
  785. .fc  
  786. .nr #T 0-1
  787. .nr #a 0-1
  788. .eo
  789. .de T#
  790. .nr 35 1m
  791. .ds #d .d
  792. .if \(ts\n(.z\(ts\(ts .ds #d nl
  793. .mk ##
  794. .nr ## -1v
  795. .ls 1
  796. .ls
  797. ..
  798. .ec
  799. .ta \n(46u \n(47u 
  800. .nr 35 1m
  801. .nr 31 \n(.f
  802. \&\h'|\n(40u'Octal Value   \h'|\n(41u'Meaning
  803. .ta \n(46u \n(47u 
  804. .nr 36 \n(.v
  805. .vs \n(.vu-\n(.sp
  806. .nr 35 \n(.vu
  807. .nr 31 \n(.f
  808. \&\h'|\n(40u'\h'|\n(40u'\s\n(33\l'|\n(46u'\s0\h'|\n(41u'\h'|\n(41u'\s\n(33\l'|\n(47u'\s0
  809. .vs \n(36u
  810. .ta \n(46u \n(47u 
  811. .nr 35 1m
  812. .nr 31 \n(.f
  813. \&\h'|\n(40u'0000400      \h'|\n(41u'read permission (owner)
  814. .ta \n(46u \n(47u 
  815. .nr 35 1m
  816. .nr 31 \n(.f
  817. \&\h'|\n(40u'0000200      \h'|\n(41u'write permission (owner)
  818. .ta \n(46u \n(47u 
  819. .nr 35 1m
  820. .nr 31 \n(.f
  821. \&\h'|\n(40u'0000100       \h'|\n(41u'execute permission (owner)
  822. .ta \n(46u \n(47u 
  823. .nr 35 1m
  824. .nr 31 \n(.f
  825. \&\h'|\n(40u'0000040      \h'|\n(41u'read permission (group)
  826. .ta \n(46u \n(47u 
  827. .nr 35 1m
  828. .nr 31 \n(.f
  829. \&\h'|\n(40u'0000020      \h'|\n(41u'write permission (group)
  830. .ta \n(46u \n(47u 
  831. .nr 35 1m
  832. .nr 31 \n(.f
  833. \&\h'|\n(40u'0000010      \h'|\n(41u'execute permission (group)
  834. .ta \n(46u \n(47u 
  835. .nr 35 1m
  836. .nr 31 \n(.f
  837. \&\h'|\n(40u'0000004      \h'|\n(41u'read permission (other)
  838. .ta \n(46u \n(47u 
  839. .nr 35 1m
  840. .nr 31 \n(.f
  841. \&\h'|\n(40u'0000002      \h'|\n(41u'write permission (other)
  842. .ta \n(46u \n(47u 
  843. .nr 35 1m
  844. .nr 31 \n(.f
  845. \&\h'|\n(40u'0000001      \h'|\n(41u'execute permission (other)
  846. .ta \n(46u \n(47u 
  847. .nr 35 1m
  848. .nr 31 \n(.f
  849. \&\h'|\n(40u' \h'|\n(41u' 
  850. .ta \n(46u \n(47u 
  851. .nr 35 1m
  852. .nr 31 \n(.f
  853. \&\h'|\n(40u'0004000      \h'|\n(41u'set user ID on execution
  854. .ta \n(46u \n(47u 
  855. .nr 35 1m
  856. .nr 31 \n(.f
  857. \&\h'|\n(40u'0002000     \h'|\n(41u'set group ID on execution
  858. .ta \n(46u \n(47u 
  859. .nr 35 1m
  860. .nr 31 \n(.f
  861. \&\h'|\n(40u'0002000      \h'|\n(41u'enforced file locking (shared w/ set group ID)
  862. .ta \n(46u \n(47u 
  863. .nr 35 1m
  864. .nr 31 \n(.f
  865. \&\h'|\n(40u'0001000      \h'|\n(41u'save swapped text even after use
  866. .ta \n(46u \n(47u 
  867. .nr 35 1m
  868. .nr 31 \n(.f
  869. \&\h'|\n(40u' \h'|\n(41u' 
  870. .ta \n(46u \n(47u 
  871. .nr 35 1m
  872. .nr 31 \n(.f
  873. \&\h'|\n(40u'0170000      \h'|\n(41u'type of file
  874. .ta \n(46u \n(47u 
  875. .nr 35 1m
  876. .nr 31 \n(.f
  877. \&\h'|\n(40u'0140000      \h'|\n(41u'socket
  878. .ta \n(46u \n(47u 
  879. .nr 35 1m
  880. .nr 31 \n(.f
  881. \&\h'|\n(40u'0120000      \h'|\n(41u'symbolic link
  882. .ta \n(46u \n(47u 
  883. .nr 35 1m
  884. .nr 31 \n(.f
  885. \&\h'|\n(40u'0100000      \h'|\n(41u'regular
  886. .ta \n(46u \n(47u 
  887. .nr 35 1m
  888. .nr 31 \n(.f
  889. \&\h'|\n(40u'0060000      \h'|\n(41u'block special
  890. .ta \n(46u \n(47u 
  891. .nr 35 1m
  892. .nr 31 \n(.f
  893. \&\h'|\n(40u'0020000      \h'|\n(41u'character special
  894. .ta \n(46u \n(47u 
  895. .nr 35 1m
  896. .nr 31 \n(.f
  897. \&\h'|\n(40u'0040000      \h'|\n(41u'directory
  898. .ta \n(46u \n(47u 
  899. .nr 35 1m
  900. .nr 31 \n(.f
  901. \&\h'|\n(40u'0010000      \h'|\n(41u'pipe or FIFO
  902. .fc
  903. .nr T. 1
  904. .T# 1
  905. .in \n(#Iu
  906. .35
  907. .TE
  908. .if \n-(b.=0 .nr c. \n(.c-\n(d.-28
  909. .sp
  910. .LI "[5]"
  911. "BP 13 to BP 20 - POSIX File Links" has the same meaning as the
  912. st_nlink defined in the header sys/stat.h by the IEEE Std 1003.1-1988.
  913. If the file type described by the directory record is a
  914. directory, the value in this field shall equal the number of
  915. directories in the directory described by this directory record
  916. (i.e. any directory record which has the "directory" bit set,
  917. including the "." and ".." records).
  918. Otherwise, it shall be 1.
  919. This field shall be recorded according to ISO 9660:1988 Format section 7.3.3.
  920. .LI "[6]"
  921. "BP 21 to BP 28 - POSIX File User ID" has the same meaning as the
  922. st_uid defined in the header sys/stat.h by the IEEE Std 1003.1-1988.
  923. This field shall be recorded according to ISO 9660:1988 Format section 7.3.3.
  924. .bp
  925. .LI "[7]"
  926. "BP 29 to BP 36 - POSIX File Group ID" has the same meaning as the
  927. st_gid defined in the header sys/stat.h by the IEEE Std 1003.1-1988.
  928. This field shall be recorded according to ISO 9660:1988 Format section 7.3.3.
  929. .sp
  930. .sp
  931. .TB "PX System Use Field - Version 1"
  932. .TS
  933. .if \n+(b.=1 .nr d. \n(.c-\n(c.-1
  934. .de 35
  935. .ps \n(.s
  936. .vs \n(.vu
  937. .in \n(.iu
  938. .if \n(.u .fi
  939. .if \n(.j .ad
  940. .if \n(.j=0 .na
  941. ..
  942. .nf
  943. .nr #~ 0
  944. .if \n(.T .if n .nr #~ 0.6n
  945. .ds #d .d
  946. .if \(ts\n(.z\(ts\(ts .ds #d nl
  947. .fc
  948. .nr 33 \n(.s
  949. .rm 54 55 56 57 58 59
  950. .nr 54 0
  951. .nr 38 \w 
  952. .if \n(54<\n(38 .nr 54 \n(38
  953. .nr 38 \w'P'
  954. .if \n(54<\n(38 .nr 54 \n(38
  955. .nr 38 \w(BP1)
  956. .if \n(54<\n(38 .nr 54 \n(38
  957. .nr 38 \w 
  958. .if \n(54<\n(38 .nr 54 \n(38
  959. .54
  960. .rm 54
  961. .nr 55 0
  962. .nr 38 \w 
  963. .if \n(55<\n(38 .nr 55 \n(38
  964. .nr 38 \w'X'
  965. .if \n(55<\n(38 .nr 55 \n(38
  966. .nr 38 \w(BP2)
  967. .if \n(55<\n(38 .nr 55 \n(38
  968. .nr 38 \w 
  969. .if \n(55<\n(38 .nr 55 \n(38
  970. .55
  971. .rm 55
  972. .nr 56 0
  973. .nr 38 \w 
  974. .if \n(56<\n(38 .nr 56 \n(38
  975. .nr 38 \wLENGTH
  976. .if \n(56<\n(38 .nr 56 \n(38
  977. .nr 38 \w(BP3)
  978. .if \n(56<\n(38 .nr 56 \n(38
  979. .nr 38 \w 
  980. .if \n(56<\n(38 .nr 56 \n(38
  981. .56
  982. .rm 56
  983. .nr 57 0
  984. .nr 38 \w 
  985. .if \n(57<\n(38 .nr 57 \n(38
  986. .nr 38 \w1
  987. .if \n(57<\n(38 .nr 57 \n(38
  988. .nr 38 \w(BP4)
  989. .if \n(57<\n(38 .nr 57 \n(38
  990. .nr 38 \w 
  991. .if \n(57<\n(38 .nr 57 \n(38
  992. .57
  993. .rm 57
  994. .nr 58 0
  995. .nr 38 \w 
  996. .if \n(58<\n(38 .nr 58 \n(38
  997. .nr 38 \wFILE MODE
  998. .if \n(58<\n(38 .nr 58 \n(38
  999. .nr 38 \w(BP5 to BP12)
  1000. .if \n(58<\n(38 .nr 58 \n(38
  1001. .nr 38 \w 
  1002. .if \n(58<\n(38 .nr 58 \n(38
  1003. .58
  1004. .rm 58
  1005. .nr 59 0
  1006. .nr 38 \wLINKS
  1007. .if \n(59<\n(38 .nr 59 \n(38
  1008. .nr 38 \w(BP13 to BP20)
  1009. .if \n(59<\n(38 .nr 59 \n(38
  1010. .59
  1011. .rm 59
  1012. .nr 38 1n
  1013. .nr 53 0
  1014. .nr 40 \n(53+((2*\n(38)/2)
  1015. .nr 54 +\n(40
  1016. .nr 41 \n(54+((6*\n(38)/2)
  1017. .nr 55 +\n(41
  1018. .nr 42 \n(55+((6*\n(38)/2)
  1019. .nr 56 +\n(42
  1020. .nr 43 \n(56+((6*\n(38)/2)
  1021. .nr 57 +\n(43
  1022. .nr 44 \n(57+((6*\n(38)/2)
  1023. .nr 58 +\n(44
  1024. .nr 45 \n(58+((6*\n(38)/2)
  1025. .nr 59 +\n(45
  1026. .nr TW \n(59
  1027. .nr TW +((2*\n(38)/2)
  1028. .if t .if (\n(TW+\n(.o)>7.65i .tm Table at line 410 file Input is too wide - \n(TW units
  1029. .ne 4v+0p
  1030. .nr #I \n(.i
  1031. .in +(\n(.lu-\n(TWu-\n(.iu)/2u
  1032. .fc  
  1033. .nr #T 0-1
  1034. .nr #a 0-1
  1035. .nr #a 0-1
  1036. .eo
  1037. .de T#
  1038. .nr 35 1m
  1039. .ds #d .d
  1040. .if \(ts\n(.z\(ts\(ts .ds #d nl
  1041. .mk ##
  1042. .nr ## -1v
  1043. .ls 1
  1044. .if \n(#T>=0 .nr #a \n(#T
  1045. .if \n(T. .vs \n(.vu-\n(.sp
  1046. .if \n(T. \h'|0'\s\n(33\l'|\n(TWu\(ul'\s0
  1047. .if \n(T. .vs
  1048. .if \n(#a>=0 .sp -1
  1049. .if \n(#a>=0 \h'|0'\s\n(33\h'-\n(#~u'\L'|\n(#au-1v'\s0\v'\n(\*(#du-\n(#au+1v'\h'|\n(TWu'
  1050. .if \n(#a>=0 .sp -1
  1051. .if \n(#a>=0 \h'(|\n(41u+|\n(54u)/2u'\s\n(33\h'-\n(#~u'\L'|\n(#au-1v'\s0\v'\n(\*(#du-\n(#au+1v'\h'|\n(TWu'
  1052. .if \n(#a>=0 .sp -1
  1053. .if \n(#a>=0 \h'(|\n(42u+|\n(55u)/2u'\s\n(33\h'-\n(#~u'\L'|\n(#au-1v'\s0\v'\n(\*(#du-\n(#au+1v'\h'|\n(TWu'
  1054. .if \n(#a>=0 .sp -1
  1055. .if \n(#a>=0 \h'(|\n(43u+|\n(56u)/2u'\s\n(33\h'-\n(#~u'\L'|\n(#au-1v'\s0\v'\n(\*(#du-\n(#au+1v'\h'|\n(TWu'
  1056. .if \n(#a>=0 .sp -1
  1057. .if \n(#a>=0 \h'(|\n(44u+|\n(57u)/2u'\s\n(33\h'-\n(#~u'\L'|\n(#au-1v'\s0\v'\n(\*(#du-\n(#au+1v'\h'|\n(TWu'
  1058. .if \n(#a>=0 .sp -1
  1059. .if \n(#a>=0 \h'(|\n(45u+|\n(58u)/2u'\s\n(33\h'-\n(#~u'\L'|\n(#au-1v'\s0\v'\n(\*(#du-\n(#au+1v'\h'|\n(TWu'
  1060. .if \n(#a>=0 .sp -1
  1061. .if \n(#a>=0 \h'|\n(TWu'\s\n(33\h'-\n(#~u'\L'|\n(#au-1v'\s0\v'\n(\*(#du-\n(#au+1v'
  1062. .ls
  1063. ..
  1064. .ec
  1065. .nr 36 \n(.v
  1066. .vs \n(.vu-\n(.sp
  1067. \h'|0'\s\n(33\l'|\n(TWu\(ul'\s0
  1068. .vs \n(36u
  1069. .mk #a
  1070. .ta \n(54u \n(55u \n(56u \n(57u \n(58u \n(59u 
  1071. .nr 35 1m
  1072. .nr 31 \n(.f
  1073. \&\h'|\n(40u' \h'|\n(41u' \h'|\n(42u' \h'|\n(43u' \h'|\n(44u' \h'|\n(45u'
  1074. .ta \n(54u \n(55u \n(56u \n(57u \n(58u \n(59u 
  1075. .nr 35 1m
  1076. .nr 31 \n(.f
  1077. \&\h'|\n(40u''P'\h'|\n(41u''X'\h'|\n(42u'LENGTH\h'|\n(43u'1\h'|\n(44u'FILE MODE\h'|\n(45u'LINKS
  1078. .ta \n(54u \n(55u \n(56u \n(57u \n(58u \n(59u 
  1079. .nr 35 1m
  1080. .nr 31 \n(.f
  1081. \&\h'|\n(40u'(BP1)\h'|\n(41u'(BP2)\h'|\n(42u'(BP3)\h'|\n(43u'(BP4)\h'|\n(44u'(BP5 to BP12)\h'|\n(45u'(BP13 to BP20)
  1082. .ta \n(54u \n(55u \n(56u \n(57u \n(58u \n(59u 
  1083. .nr 35 1m
  1084. .nr 31 \n(.f
  1085. \&\h'|\n(40u' \h'|\n(41u' \h'|\n(42u' \h'|\n(43u' \h'|\n(44u' \h'|\n(45u'
  1086. .fc
  1087. .nr T. 1
  1088. .T# 1
  1089. .in \n(#Iu
  1090. .35
  1091. .nr #a 0
  1092. .TE
  1093. .if \n-(b.=0 .nr c. \n(.c-\n(d.-7
  1094. .sp
  1095. .TS
  1096. .if \n+(b.=1 .nr d. \n(.c-\n(c.-1
  1097. .de 35
  1098. .ps \n(.s
  1099. .vs \n(.vu
  1100. .in \n(.iu
  1101. .if \n(.u .fi
  1102. .if \n(.j .ad
  1103. .if \n(.j=0 .na
  1104. ..
  1105. .nf
  1106. .nr #~ 0
  1107. .if \n(.T .if n .nr #~ 0.6n
  1108. .ds #d .d
  1109. .if \(ts\n(.z\(ts\(ts .ds #d nl
  1110. .fc
  1111. .nr 33 \n(.s
  1112. .rm 46 47
  1113. .nr 46 0
  1114. .nr 38 \w 
  1115. .if \n(46<\n(38 .nr 46 \n(38
  1116. .nr 38 \wUSER ID
  1117. .if \n(46<\n(38 .nr 46 \n(38
  1118. .nr 38 \w(BP21 to BP28)
  1119. .if \n(46<\n(38 .nr 46 \n(38
  1120. .nr 38 \w 
  1121. .if \n(46<\n(38 .nr 46 \n(38
  1122. .46
  1123. .rm 46
  1124. .nr 47 0
  1125. .nr 38 \w 
  1126. .if \n(47<\n(38 .nr 47 \n(38
  1127. .nr 38 \wGROUP ID
  1128. .if \n(47<\n(38 .nr 47 \n(38
  1129. .nr 38 \w(BP29 to BP36)
  1130. .if \n(47<\n(38 .nr 47 \n(38
  1131. .nr 38 \w 
  1132. .if \n(47<\n(38 .nr 47 \n(38
  1133. .47
  1134. .rm 47
  1135. .nr 38 1n
  1136. .nr 45 0
  1137. .nr 40 \n(45+((2*\n(38)/2)
  1138. .nr 46 +\n(40
  1139. .nr 41 \n(46+((6*\n(38)/2)
  1140. .nr 47 +\n(41
  1141. .nr TW \n(47
  1142. .nr TW +((2*\n(38)/2)
  1143. .if t .if (\n(TW+\n(.o)>7.65i .tm Table at line 419 file Input is too wide - \n(TW units
  1144. .ne 4v+0p
  1145. .nr #I \n(.i
  1146. .in +(\n(.lu-\n(TWu-\n(.iu)/2u
  1147. .fc  
  1148. .nr #T 0-1
  1149. .nr #a 0-1
  1150. .nr #a 0-1
  1151. .eo
  1152. .de T#
  1153. .nr 35 1m
  1154. .ds #d .d
  1155. .if \(ts\n(.z\(ts\(ts .ds #d nl
  1156. .mk ##
  1157. .nr ## -1v
  1158. .ls 1
  1159. .if \n(#T>=0 .nr #a \n(#T
  1160. .if \n(T. .vs \n(.vu-\n(.sp
  1161. .if \n(T. \h'|0'\s\n(33\l'|\n(TWu\(ul'\s0
  1162. .if \n(T. .vs
  1163. .if \n(#a>=0 .sp -1
  1164. .if \n(#a>=0 \h'|0'\s\n(33\h'-\n(#~u'\L'|\n(#au-1v'\s0\v'\n(\*(#du-\n(#au+1v'\h'|\n(TWu'
  1165. .if \n(#a>=0 .sp -1
  1166. .if \n(#a>=0 \h'(|\n(41u+|\n(46u)/2u'\s\n(33\h'-\n(#~u'\L'|\n(#au-1v'\s0\v'\n(\*(#du-\n(#au+1v'\h'|\n(TWu'
  1167. .if \n(#a>=0 .sp -1
  1168. .if \n(#a>=0 \h'|\n(TWu'\s\n(33\h'-\n(#~u'\L'|\n(#au-1v'\s0\v'\n(\*(#du-\n(#au+1v'
  1169. .ls
  1170. ..
  1171. .ec
  1172. .nr 36 \n(.v
  1173. .vs \n(.vu-\n(.sp
  1174. \h'|0'\s\n(33\l'|\n(TWu\(ul'\s0
  1175. .vs \n(36u
  1176. .mk #a
  1177. .ta \n(46u \n(47u 
  1178. .nr 35 1m
  1179. .nr 31 \n(.f
  1180. \&\h'|\n(40u' \h'|\n(41u' 
  1181. .ta \n(46u \n(47u 
  1182. .nr 35 1m
  1183. .nr 31 \n(.f
  1184. \&\h'|\n(40u'USER ID\h'|\n(41u'GROUP ID
  1185. .ta \n(46u \n(47u 
  1186. .nr 35 1m
  1187. .nr 31 \n(.f
  1188. \&\h'|\n(40u'(BP21 to BP28)\h'|\n(41u'(BP29 to BP36)
  1189. .ta \n(46u \n(47u 
  1190. .nr 35 1m
  1191. .nr 31 \n(.f
  1192. \&\h'|\n(40u' \h'|\n(41u' 
  1193. .fc
  1194. .nr T. 1
  1195. .T# 1
  1196. .in \n(#Iu
  1197. .35
  1198. .nr #a 0
  1199. .TE
  1200. .if \n-(b.=0 .nr c. \n(.c-\n(d.-7
  1201. .sp
  1202. .sp
  1203. .sp
  1204. .H 3 "Description of the PN System Use Field
  1205. .sp
  1206. This field is mandatory if the file type recorded in the "PX"
  1207. File Mode field for the given directory record indicates a character or block
  1208. device.
  1209. This field, if present, should be ignored for all other file types.
  1210. No more than one "PN" System Use Field shall appear in (all)
  1211. the System Use Area(s) for a single directory record.
  1212. .sp
  1213. If the receiving system records device numbers as 32-bit numbers,
  1214. only the "Dev_t Low" field shall be used. 
  1215. If the receiving system records device numbers as 64-bit numbers,
  1216. the "Dev_t High" and "Dev_t Low" fields shall be concatenated to make
  1217. one 64-bit number. 
  1218. .sp
  1219. The format of the "PN" System Use Field is as follows:
  1220. .sp
  1221. .VL 10 5
  1222. .LI "[1]"
  1223. "BP 1 to BP 2 - Signature Word" shall indicate that the System Use Field
  1224. is a "PN" type System Use Field.
  1225. The bytes in this field shall be (50)(4E) ("PN").
  1226. .LI "[2]"
  1227. "BP 3 - Length" shall specify as an 8-bit number the length in
  1228. bytes of the "PN" System Use Field.
  1229. The number in this field shall be 20 for this version.
  1230. This field shall be recorded according to ISO 9660:1988 Format 
  1231. section 7.1.1.
  1232. .LI "[3]"
  1233. "BP 4 - System Use Field Version" shall specify as an 8-bit number an
  1234. identification of the version of the "PN" System Use Field.
  1235. The number in this field shall be 1 for this version.
  1236. This field shall be recorded according to ISO 9660:1988 Format
  1237. section 7.1.1.
  1238. .bp
  1239. .LI "[4]"
  1240. "BP 5 to BP 12 - Dev_t High" shall contain as a 32-bit number
  1241. the high order 32 bits of the device number.
  1242. If the receiving system records device numbers as 32-bit numbers this field
  1243. shall be zero and ignored.
  1244. This field shall be recorded according to ISO 9660:1988 Format section 7.3.3.
  1245. .LI "[5]"
  1246. "BP 13 to BP 20 - Dev_t Low" shall contain as a 32-bit number
  1247. the low order 32-bits of the device number.
  1248. This field shall be recorded according to ISO 9660:1988 Format section 7.3.3.
  1249. .LE
  1250. .sp
  1251. .sp
  1252. .TB "PN System Use Field - Version 1"
  1253. .TS
  1254. .if \n+(b.=1 .nr d. \n(.c-\n(c.-1
  1255. .de 35
  1256. .ps \n(.s
  1257. .vs \n(.vu
  1258. .in \n(.iu
  1259. .if \n(.u .fi
  1260. .if \n(.j .ad
  1261. .if \n(.j=0 .na
  1262. ..
  1263. .nf
  1264. .nr #~ 0
  1265. .if \n(.T .if n .nr #~ 0.6n
  1266. .ds #d .d
  1267. .if \(ts\n(.z\(ts\(ts .ds #d nl
  1268. .fc
  1269. .nr 33 \n(.s
  1270. .rm 54 55 56 57 58 59
  1271. .nr 54 0
  1272. .nr 38 \w 
  1273. .if \n(54<\n(38 .nr 54 \n(38
  1274. .nr 38 \w'P'
  1275. .if \n(54<\n(38 .nr 54 \n(38
  1276. .nr 38 \w(BP1)
  1277. .if \n(54<\n(38 .nr 54 \n(38
  1278. .nr 38 \w 
  1279. .if \n(54<\n(38 .nr 54 \n(38
  1280. .54
  1281. .rm 54
  1282. .nr 55 0
  1283. .nr 38 \w 
  1284. .if \n(55<\n(38 .nr 55 \n(38
  1285. .nr 38 \w'N'
  1286. .if \n(55<\n(38 .nr 55 \n(38
  1287. .nr 38 \w(BP2)
  1288. .if \n(55<\n(38 .nr 55 \n(38
  1289. .nr 38 \w 
  1290. .if \n(55<\n(38 .nr 55 \n(38
  1291. .55
  1292. .rm 55
  1293. .nr 56 0
  1294. .nr 38 \w 
  1295. .if \n(56<\n(38 .nr 56 \n(38
  1296. .nr 38 \w20
  1297. .if \n(56<\n(38 .nr 56 \n(38
  1298. .nr 38 \w(BP3)
  1299. .if \n(56<\n(38 .nr 56 \n(38
  1300. .nr 38 \w 
  1301. .if \n(56<\n(38 .nr 56 \n(38
  1302. .56
  1303. .rm 56
  1304. .nr 57 0
  1305. .nr 38 \w 
  1306. .if \n(57<\n(38 .nr 57 \n(38
  1307. .nr 38 \w1
  1308. .if \n(57<\n(38 .nr 57 \n(38
  1309. .nr 38 \w(BP4)
  1310. .if \n(57<\n(38 .nr 57 \n(38
  1311. .nr 38 \w 
  1312. .if \n(57<\n(38 .nr 57 \n(38
  1313. .57
  1314. .rm 57
  1315. .nr 58 0
  1316. .nr 38 \w 
  1317. .if \n(58<\n(38 .nr 58 \n(38
  1318. .nr 38 \wDEV_T HIGH
  1319. .if \n(58<\n(38 .nr 58 \n(38
  1320. .nr 38 \w(BP5 to BP12)
  1321. .if \n(58<\n(38 .nr 58 \n(38
  1322. .nr 38 \w 
  1323. .if \n(58<\n(38 .nr 58 \n(38
  1324. .58
  1325. .rm 58
  1326. .nr 59 0
  1327. .nr 38 \wDEV_T LOW
  1328. .if \n(59<\n(38 .nr 59 \n(38
  1329. .nr 38 \w(BP13 to BP20)
  1330. .if \n(59<\n(38 .nr 59 \n(38
  1331. .59
  1332. .rm 59
  1333. .nr 38 1n
  1334. .nr 53 0
  1335. .nr 40 \n(53+((2*\n(38)/2)
  1336. .nr 54 +\n(40
  1337. .nr 41 \n(54+((6*\n(38)/2)
  1338. .nr 55 +\n(41
  1339. .nr 42 \n(55+((6*\n(38)/2)
  1340. .nr 56 +\n(42
  1341. .nr 43 \n(56+((6*\n(38)/2)
  1342. .nr 57 +\n(43
  1343. .nr 44 \n(57+((6*\n(38)/2)
  1344. .nr 58 +\n(44
  1345. .nr 45 \n(58+((6*\n(38)/2)
  1346. .nr 59 +\n(45
  1347. .nr TW \n(59
  1348. .nr TW +((2*\n(38)/2)
  1349. .if t .if (\n(TW+\n(.o)>7.65i .tm Table at line 479 file Input is too wide - \n(TW units
  1350. .ne 4v+0p
  1351. .nr #I \n(.i
  1352. .in +(\n(.lu-\n(TWu-\n(.iu)/2u
  1353. .fc  
  1354. .nr #T 0-1
  1355. .nr #a 0-1
  1356. .nr #a 0-1
  1357. .eo
  1358. .de T#
  1359. .nr 35 1m
  1360. .ds #d .d
  1361. .if \(ts\n(.z\(ts\(ts .ds #d nl
  1362. .mk ##
  1363. .nr ## -1v
  1364. .ls 1
  1365. .if \n(#T>=0 .nr #a \n(#T
  1366. .if \n(T. .vs \n(.vu-\n(.sp
  1367. .if \n(T. \h'|0'\s\n(33\l'|\n(TWu\(ul'\s0
  1368. .if \n(T. .vs
  1369. .if \n(#a>=0 .sp -1
  1370. .if \n(#a>=0 \h'|0'\s\n(33\h'-\n(#~u'\L'|\n(#au-1v'\s0\v'\n(\*(#du-\n(#au+1v'\h'|\n(TWu'
  1371. .if \n(#a>=0 .sp -1
  1372. .if \n(#a>=0 \h'(|\n(41u+|\n(54u)/2u'\s\n(33\h'-\n(#~u'\L'|\n(#au-1v'\s0\v'\n(\*(#du-\n(#au+1v'\h'|\n(TWu'
  1373. .if \n(#a>=0 .sp -1
  1374. .if \n(#a>=0 \h'(|\n(42u+|\n(55u)/2u'\s\n(33\h'-\n(#~u'\L'|\n(#au-1v'\s0\v'\n(\*(#du-\n(#au+1v'\h'|\n(TWu'
  1375. .if \n(#a>=0 .sp -1
  1376. .if \n(#a>=0 \h'(|\n(43u+|\n(56u)/2u'\s\n(33\h'-\n(#~u'\L'|\n(#au-1v'\s0\v'\n(\*(#du-\n(#au+1v'\h'|\n(TWu'
  1377. .if \n(#a>=0 .sp -1
  1378. .if \n(#a>=0 \h'(|\n(44u+|\n(57u)/2u'\s\n(33\h'-\n(#~u'\L'|\n(#au-1v'\s0\v'\n(\*(#du-\n(#au+1v'\h'|\n(TWu'
  1379. .if \n(#a>=0 .sp -1
  1380. .if \n(#a>=0 \h'(|\n(45u+|\n(58u)/2u'\s\n(33\h'-\n(#~u'\L'|\n(#au-1v'\s0\v'\n(\*(#du-\n(#au+1v'\h'|\n(TWu'
  1381. .if \n(#a>=0 .sp -1
  1382. .if \n(#a>=0 \h'|\n(TWu'\s\n(33\h'-\n(#~u'\L'|\n(#au-1v'\s0\v'\n(\*(#du-\n(#au+1v'
  1383. .ls
  1384. ..
  1385. .ec
  1386. .nr 36 \n(.v
  1387. .vs \n(.vu-\n(.sp
  1388. \h'|0'\s\n(33\l'|\n(TWu\(ul'\s0
  1389. .vs \n(36u
  1390. .mk #a
  1391. .ta \n(54u \n(55u \n(56u \n(57u \n(58u \n(59u 
  1392. .nr 35 1m
  1393. .nr 31 \n(.f
  1394. \&\h'|\n(40u' \h'|\n(41u' \h'|\n(42u' \h'|\n(43u' \h'|\n(44u' \h'|\n(45u'
  1395. .ta \n(54u \n(55u \n(56u \n(57u \n(58u \n(59u 
  1396. .nr 35 1m
  1397. .nr 31 \n(.f
  1398. \&\h'|\n(40u''P'\h'|\n(41u''N'\h'|\n(42u'20\h'|\n(43u'1\h'|\n(44u'DEV_T HIGH\h'|\n(45u'DEV_T LOW
  1399. .ta \n(54u \n(55u \n(56u \n(57u \n(58u \n(59u 
  1400. .nr 35 1m
  1401. .nr 31 \n(.f
  1402. \&\h'|\n(40u'(BP1)\h'|\n(41u'(BP2)\h'|\n(42u'(BP3)\h'|\n(43u'(BP4)\h'|\n(44u'(BP5 to BP12)\h'|\n(45u'(BP13 to BP20)
  1403. .ta \n(54u \n(55u \n(56u \n(57u \n(58u \n(59u 
  1404. .nr 35 1m
  1405. .nr 31 \n(.f
  1406. \&\h'|\n(40u' \h'|\n(41u' \h'|\n(42u' \h'|\n(43u' \h'|\n(44u' \h'|\n(45u'
  1407. .fc
  1408. .nr T. 1
  1409. .T# 1
  1410. .in \n(#Iu
  1411. .35
  1412. .nr #a 0
  1413. .TE
  1414. .if \n-(b.=0 .nr c. \n(.c-\n(d.-7
  1415. .sp
  1416. .sp
  1417. .sp
  1418. .H 3 "Description of the SL System Use Field"
  1419. .sp
  1420. The purpose of the "SL" System Use Field is to store the content
  1421. of a symbolic link.
  1422. This System Use Field is mandatory if the file
  1423. type recorded in the "PX" File Mode field for the given directory record
  1424. indicates a symbolic link.
  1425. For other file types, this System Use Field should be ignored.
  1426. If the receiving system does not support symbolic links the system should
  1427. invoke "Reader-Makes-Right".
  1428. .sp
  1429. If the file type recorded in the "PX" File Mode field for the given directory 
  1430. record indicates a symbolic link, the directory record shall point to a file,
  1431. the contents of which are not specified by this document.
  1432. .sp
  1433. If more than one "SL" System Use Field is recorded in the System
  1434. Use Area(s) for a single directory record, the Component Area (see 
  1435. section 4.1.3.1
  1436. below) of each should be concatenated together, in the order in which
  1437. they were recorded, until a CONTINUE flag with value zero is
  1438. encountered (see [4] below), to obtain the entire set of Component
  1439. Records for the symbolic link.
  1440. .sp
  1441. The method of recording is system independent.
  1442. Under reader makes right, the receiving system is responsible for supplying
  1443. appropriate values and/or notations for the component delimiter and
  1444. special cases provided for below.
  1445. .sp
  1446. .bp
  1447. The format of the "SL" System Use Field is as follows:
  1448. .sp
  1449. .VL 10 5
  1450. .LI "[1]"
  1451. "BP 1 to BP 2 - Signature Word" shall indicate that the System Use Field
  1452. is a "SL" type System Use Field.
  1453. The bytes in this field shall be (53)(4C) ("SL").
  1454. .LI "[2]"
  1455. "BP 3 - Length (LEN_SL)" shall specify as an 8-bit number the length in
  1456. bytes of the "SL" System Use Field.
  1457. The number in this field shall be 5 plus the length of the Component
  1458. Area recorded in this "SL" field.
  1459. This field shall be recorded according to ISO 9660:1988 Format 
  1460. section 7.1.1.
  1461. .LI "[3]"
  1462. "BP 4 - System Use Field Version" shall specify as an 8-bit number an
  1463. identification of the version of the "SL" System Use Field.
  1464. The number in this field shall be 1 for this version.
  1465. This field shall be recorded according to ISO 9660:1988 Format
  1466. section 7.1.1.
  1467. .LI "[4]"
  1468. "BP 5 - Flags" shall contain bit field flags numbered 0
  1469. to 7 starting with the least significant bit as follows:
  1470. .sp
  1471. .TS
  1472. .if \n+(b.=1 .nr d. \n(.c-\n(c.-1
  1473. .de 35
  1474. .ps \n(.s
  1475. .vs \n(.vu
  1476. .in \n(.iu
  1477. .if \n(.u .fi
  1478. .if \n(.j .ad
  1479. .if \n(.j=0 .na
  1480. ..
  1481. .nf
  1482. .nr #~ 0
  1483. .if \n(.T .if n .nr #~ 0.6n
  1484. .ds #d .d
  1485. .if \(ts\n(.z\(ts\(ts .ds #d nl
  1486. .fc
  1487. .nr 33 \n(.s
  1488. .rm 48 49 50
  1489. .nr 48 0
  1490. .nr 38 \wPosition
  1491. .if \n(48<\n(38 .nr 48 \n(38
  1492. .nr 38 \w\_
  1493. .if \n(48<\n(38 .nr 48 \n(38
  1494. .nr 38 \w0
  1495. .if \n(48<\n(38 .nr 48 \n(38
  1496. .nr 38 \wall others
  1497. .if \n(48<\n(38 .nr 48 \n(38
  1498. .48
  1499. .rm 48
  1500. .nr 49 0
  1501. .nr 38 \wName
  1502. .if \n(49<\n(38 .nr 49 \n(38
  1503. .nr 38 \w\_
  1504. .if \n(49<\n(38 .nr 49 \n(38
  1505. .nr 38 \wCONTINUE
  1506. .if \n(49<\n(38 .nr 49 \n(38
  1507. .nr 38 \wRESERVED
  1508. .if \n(49<\n(38 .nr 49 \n(38
  1509. .49
  1510. .rm 49
  1511. .nr 50 0
  1512. .nr 38 \wInterpretation if set to 1
  1513. .if \n(50<\n(38 .nr 50 \n(38
  1514. .nr 38 \w\_
  1515. .if \n(50<\n(38 .nr 50 \n(38
  1516. .nr 38 \wThis Symbolic Link continues in next "SL"
  1517. .if \n(50<\n(38 .nr 50 \n(38
  1518. .nr 38 \wvalue must be 0
  1519. .if \n(50<\n(38 .nr 50 \n(38
  1520. .50
  1521. .rm 50
  1522. .nr 38 1n
  1523. .nr 47 0
  1524. .nr 40 \n(47+((0*\n(38)/2)
  1525. .nr 48 +\n(40
  1526. .nr 41 \n(48+((6*\n(38)/2)
  1527. .nr 49 +\n(41
  1528. .nr 42 \n(49+((6*\n(38)/2)
  1529. .nr 50 +\n(42
  1530. .nr TW \n(50
  1531. .if t .if (\n(TW+\n(.o)>7.65i .tm Table at line 543 file Input is too wide - \n(TW units
  1532. .nr #I \n(.i
  1533. .in +(\n(.lu-\n(TWu-\n(.iu)/2u
  1534. .fc  
  1535. .nr #T 0-1
  1536. .nr #a 0-1
  1537. .eo
  1538. .de T#
  1539. .nr 35 1m
  1540. .ds #d .d
  1541. .if \(ts\n(.z\(ts\(ts .ds #d nl
  1542. .mk ##
  1543. .nr ## -1v
  1544. .ls 1
  1545. .ls
  1546. ..
  1547. .ec
  1548. .ta \n(48u \n(49u \n(50u 
  1549. .nr 35 1m
  1550. .nr 31 \n(.f
  1551. \&\h'|\n(40u'Position\h'|\n(41u'Name\h'|\n(42u'Interpretation if set to 1
  1552. .ta \n(48u \n(49u \n(50u 
  1553. .nr 36 \n(.v
  1554. .vs \n(.vu-\n(.sp
  1555. .nr 35 \n(.vu
  1556. .nr 31 \n(.f
  1557. \&\h'|\n(40u'\h'|\n(40u'\s\n(33\l'|\n(48u'\s0\h'|\n(41u'\h'|\n(41u'\s\n(33\l'|\n(49u'\s0\h'|\n(42u'\h'|\n(42u'\s\n(33\l'|\n(50u'\s0
  1558. .vs \n(36u
  1559. .ta \n(48u \n(49u \n(50u 
  1560. .nr 35 1m
  1561. .nr 31 \n(.f
  1562. \&\h'|\n(40u'0\h'|\n(41u'CONTINUE\h'|\n(42u'This Symbolic Link continues in next "SL"
  1563. .ta \n(48u \n(49u \n(50u 
  1564. .nr 35 1m
  1565. .nr 31 \n(.f
  1566. \&\h'|\n(40u'all others\h'|\n(41u'RESERVED\h'|\n(42u'value must be 0
  1567. .fc
  1568. .nr T. 1
  1569. .T# 1
  1570. .in \n(#Iu
  1571. .35
  1572. .TE
  1573. .if \n-(b.=0 .nr c. \n(.c-\n(d.-7
  1574. .sp
  1575. .LI "[5]"
  1576. "BP 6 to LEN_SL - Component Records" shall contain Component Records
  1577. (described below).
  1578. .LE
  1579. .sp
  1580. .sp
  1581. .TB "SL System Use Field - Version 1"
  1582. .TS
  1583. .if \n+(b.=1 .nr d. \n(.c-\n(c.-1
  1584. .de 35
  1585. .ps \n(.s
  1586. .vs \n(.vu
  1587. .in \n(.iu
  1588. .if \n(.u .fi
  1589. .if \n(.j .ad
  1590. .if \n(.j=0 .na
  1591. ..
  1592. .nf
  1593. .nr #~ 0
  1594. .if \n(.T .if n .nr #~ 0.6n
  1595. .ds #d .d
  1596. .if \(ts\n(.z\(ts\(ts .ds #d nl
  1597. .fc
  1598. .nr 33 \n(.s
  1599. .rm 54 55 56 57 58 59
  1600. .nr 54 0
  1601. .nr 38 \w 
  1602. .if \n(54<\n(38 .nr 54 \n(38
  1603. .nr 38 \w'S'
  1604. .if \n(54<\n(38 .nr 54 \n(38
  1605. .nr 38 \w(BP1)
  1606. .if \n(54<\n(38 .nr 54 \n(38
  1607. .nr 38 \w 
  1608. .if \n(54<\n(38 .nr 54 \n(38
  1609. .54
  1610. .rm 54
  1611. .nr 55 0
  1612. .nr 38 \w 
  1613. .if \n(55<\n(38 .nr 55 \n(38
  1614. .nr 38 \w'L'
  1615. .if \n(55<\n(38 .nr 55 \n(38
  1616. .nr 38 \w(BP2)
  1617. .if \n(55<\n(38 .nr 55 \n(38
  1618. .nr 38 \w 
  1619. .if \n(55<\n(38 .nr 55 \n(38
  1620. .55
  1621. .rm 55
  1622. .nr 56 0
  1623. .nr 38 \w 
  1624. .if \n(56<\n(38 .nr 56 \n(38
  1625. .nr 38 \wLENGTH
  1626. .if \n(56<\n(38 .nr 56 \n(38
  1627. .nr 38 \w(BP3)
  1628. .if \n(56<\n(38 .nr 56 \n(38
  1629. .nr 38 \w 
  1630. .if \n(56<\n(38 .nr 56 \n(38
  1631. .56
  1632. .rm 56
  1633. .nr 57 0
  1634. .nr 38 \w 
  1635. .if \n(57<\n(38 .nr 57 \n(38
  1636. .nr 38 \w1
  1637. .if \n(57<\n(38 .nr 57 \n(38
  1638. .nr 38 \w(BP4)
  1639. .if \n(57<\n(38 .nr 57 \n(38
  1640. .nr 38 \w 
  1641. .if \n(57<\n(38 .nr 57 \n(38
  1642. .57
  1643. .rm 57
  1644. .nr 58 0
  1645. .nr 38 \w 
  1646. .if \n(58<\n(38 .nr 58 \n(38
  1647. .nr 38 \wFLAGS
  1648. .if \n(58<\n(38 .nr 58 \n(38
  1649. .nr 38 \w(BP5)
  1650. .if \n(58<\n(38 .nr 58 \n(38
  1651. .nr 38 \w 
  1652. .if \n(58<\n(38 .nr 58 \n(38
  1653. .58
  1654. .rm 58
  1655. .nr 59 0
  1656. .nr 38 \w 
  1657. .if \n(59<\n(38 .nr 59 \n(38
  1658. .nr 38 \wCOMPONENT RECORDS
  1659. .if \n(59<\n(38 .nr 59 \n(38
  1660. .nr 38 \w(BP6 to LEN_SL)
  1661. .if \n(59<\n(38 .nr 59 \n(38
  1662. .nr 38 \w 
  1663. .if \n(59<\n(38 .nr 59 \n(38
  1664. .59
  1665. .rm 59
  1666. .nr 38 1n
  1667. .nr 53 0
  1668. .nr 40 \n(53+((2*\n(38)/2)
  1669. .nr 54 +\n(40
  1670. .nr 41 \n(54+((6*\n(38)/2)
  1671. .nr 55 +\n(41
  1672. .nr 42 \n(55+((6*\n(38)/2)
  1673. .nr 56 +\n(42
  1674. .nr 43 \n(56+((6*\n(38)/2)
  1675. .nr 57 +\n(43
  1676. .nr 44 \n(57+((6*\n(38)/2)
  1677. .nr 58 +\n(44
  1678. .nr 45 \n(58+((6*\n(38)/2)
  1679. .nr 59 +\n(45
  1680. .nr TW \n(59
  1681. .nr TW +((2*\n(38)/2)
  1682. .if t .if (\n(TW+\n(.o)>7.65i .tm Table at line 559 file Input is too wide - \n(TW units
  1683. .ne 4v+0p
  1684. .nr #I \n(.i
  1685. .in +(\n(.lu-\n(TWu-\n(.iu)/2u
  1686. .fc  
  1687. .nr #T 0-1
  1688. .nr #a 0-1
  1689. .nr #a 0-1
  1690. .eo
  1691. .de T#
  1692. .nr 35 1m
  1693. .ds #d .d
  1694. .if \(ts\n(.z\(ts\(ts .ds #d nl
  1695. .mk ##
  1696. .nr ## -1v
  1697. .ls 1
  1698. .if \n(#T>=0 .nr #a \n(#T
  1699. .if \n(T. .vs \n(.vu-\n(.sp
  1700. .if \n(T. \h'|0'\s\n(33\l'|\n(TWu\(ul'\s0
  1701. .if \n(T. .vs
  1702. .if \n(#a>=0 .sp -1
  1703. .if \n(#a>=0 \h'|0'\s\n(33\h'-\n(#~u'\L'|\n(#au-1v'\s0\v'\n(\*(#du-\n(#au+1v'\h'|\n(TWu'
  1704. .if \n(#a>=0 .sp -1
  1705. .if \n(#a>=0 \h'(|\n(41u+|\n(54u)/2u'\s\n(33\h'-\n(#~u'\L'|\n(#au-1v'\s0\v'\n(\*(#du-\n(#au+1v'\h'|\n(TWu'
  1706. .if \n(#a>=0 .sp -1
  1707. .if \n(#a>=0 \h'(|\n(42u+|\n(55u)/2u'\s\n(33\h'-\n(#~u'\L'|\n(#au-1v'\s0\v'\n(\*(#du-\n(#au+1v'\h'|\n(TWu'
  1708. .if \n(#a>=0 .sp -1
  1709. .if \n(#a>=0 \h'(|\n(43u+|\n(56u)/2u'\s\n(33\h'-\n(#~u'\L'|\n(#au-1v'\s0\v'\n(\*(#du-\n(#au+1v'\h'|\n(TWu'
  1710. .if \n(#a>=0 .sp -1
  1711. .if \n(#a>=0 \h'(|\n(44u+|\n(57u)/2u'\s\n(33\h'-\n(#~u'\L'|\n(#au-1v'\s0\v'\n(\*(#du-\n(#au+1v'\h'|\n(TWu'
  1712. .if \n(#a>=0 .sp -1
  1713. .if \n(#a>=0 \h'(|\n(45u+|\n(58u)/2u'\s\n(33\h'-\n(#~u'\L'|\n(#au-1v'\s0\v'\n(\*(#du-\n(#au+1v'\h'|\n(TWu'
  1714. .if \n(#a>=0 .sp -1
  1715. .if \n(#a>=0 \h'|\n(TWu'\s\n(33\h'-\n(#~u'\L'|\n(#au-1v'\s0\v'\n(\*(#du-\n(#au+1v'
  1716. .ls
  1717. ..
  1718. .ec
  1719. .nr 36 \n(.v
  1720. .vs \n(.vu-\n(.sp
  1721. \h'|0'\s\n(33\l'|\n(TWu\(ul'\s0
  1722. .vs \n(36u
  1723. .mk #a
  1724. .ta \n(54u \n(55u \n(56u \n(57u \n(58u \n(59u 
  1725. .nr 35 1m
  1726. .nr 31 \n(.f
  1727. \&\h'|\n(40u' \h'|\n(41u' \h'|\n(42u' \h'|\n(43u' \h'|\n(44u' \h'|\n(45u' 
  1728. .ta \n(54u \n(55u \n(56u \n(57u \n(58u \n(59u 
  1729. .nr 35 1m
  1730. .nr 31 \n(.f
  1731. \&\h'|\n(40u''S'\h'|\n(41u''L'\h'|\n(42u'LENGTH\h'|\n(43u'1\h'|\n(44u'FLAGS\h'|\n(45u'COMPONENT RECORDS
  1732. .ta \n(54u \n(55u \n(56u \n(57u \n(58u \n(59u 
  1733. .nr 35 1m
  1734. .nr 31 \n(.f
  1735. \&\h'|\n(40u'(BP1)\h'|\n(41u'(BP2)\h'|\n(42u'(BP3)\h'|\n(43u'(BP4)\h'|\n(44u'(BP5)\h'|\n(45u'(BP6 to LEN_SL)
  1736. .ta \n(54u \n(55u \n(56u \n(57u \n(58u \n(59u 
  1737. .nr 35 1m
  1738. .nr 31 \n(.f
  1739. \&\h'|\n(40u' \h'|\n(41u' \h'|\n(42u' \h'|\n(43u' \h'|\n(44u' \h'|\n(45u' 
  1740. .fc
  1741. .nr T. 1
  1742. .T# 1
  1743. .in \n(#Iu
  1744. .35
  1745. .nr #a 0
  1746. .TE
  1747. .if \n-(b.=0 .nr c. \n(.c-\n(d.-7
  1748. .sp
  1749. .sp
  1750. .sp
  1751. .H 4 "Description of the SL System Use Field Component Record"
  1752. .sp
  1753. Within a "SL" System Use Field, each component of the pathname shall
  1754. be recorded as one or more component records.
  1755. A component does not contain the component separator (/ in POSIX).
  1756. Recording a single component of a symbolic
  1757. link may require multiple Component Records.
  1758. If the component is greater than 255 bytes or will not fit into the current
  1759. System Use Area or Continuation Area more than one Component Record will be
  1760. recorded for the component.
  1761. Multiple Component Records, specifying one or more separate components 
  1762. of the symbolic link may be recorded in the Component Area of a 
  1763. single "SL" field.
  1764. .sp
  1765. If a single Component Record is used to record a single component of a
  1766. symbolic link, the CONTINUE flag must be set to zero.
  1767. If multiple Component Records are used to record a single
  1768. component of a symbolic link, the CONTINUE flag must be set to one in
  1769. each Component Record except the last and zero in the last Component
  1770. Record recording the given component.
  1771. .sp
  1772. Component Records shall be recorded contiguously within each
  1773. Component Area, starting in the first byte of each Component Area.
  1774. The last Component Record in the Component Area of an "SL" field may
  1775. be continued in the Component Area of the next recorded "SL" field.
  1776. .sp
  1777. Each Component Record shall have the following format:
  1778. .sp
  1779. .VL 10 5
  1780. .LI "[A]"
  1781. "BP 1 - Component Flags" shall contain bit field flags numbered 0
  1782. to 7 starting with the least significant bit as follows:
  1783. .sp
  1784. .TS
  1785. .if \n+(b.=1 .nr d. \n(.c-\n(c.-1
  1786. .de 35
  1787. .ps \n(.s
  1788. .vs \n(.vu
  1789. .in \n(.iu
  1790. .if \n(.u .fi
  1791. .if \n(.j .ad
  1792. .if \n(.j=0 .na
  1793. ..
  1794. .nf
  1795. .nr #~ 0
  1796. .if \n(.T .if n .nr #~ 0.6n
  1797. .ds #d .d
  1798. .if \(ts\n(.z\(ts\(ts .ds #d nl
  1799. .fc
  1800. .nr 33 \n(.s
  1801. .rm 48 49 50
  1802. .nr 48 0
  1803. .nr 38 \wPosition
  1804. .if \n(48<\n(38 .nr 48 \n(38
  1805. .nr 38 \w\_
  1806. .if \n(48<\n(38 .nr 48 \n(38
  1807. .nr 38 \w0
  1808. .if \n(48<\n(38 .nr 48 \n(38
  1809. .nr 38 \w 
  1810. .if \n(48<\n(38 .nr 48 \n(38
  1811. .nr 38 \w1
  1812. .if \n(48<\n(38 .nr 48 \n(38
  1813. .nr 38 \w 
  1814. .if \n(48<\n(38 .nr 48 \n(38
  1815. .nr 38 \w2
  1816. .if \n(48<\n(38 .nr 48 \n(38
  1817. .nr 38 \w 
  1818. .if \n(48<\n(38 .nr 48 \n(38
  1819. .nr 38 \w3
  1820. .if \n(48<\n(38 .nr 48 \n(38
  1821. .nr 38 \w 
  1822. .if \n(48<\n(38 .nr 48 \n(38
  1823. .nr 38 \w4
  1824. .if \n(48<\n(38 .nr 48 \n(38
  1825. .nr 38 \w 
  1826. .if \n(48<\n(38 .nr 48 \n(38
  1827. .nr 38 \w5
  1828. .if \n(48<\n(38 .nr 48 \n(38
  1829. .nr 38 \w 
  1830. .if \n(48<\n(38 .nr 48 \n(38
  1831. .nr 38 \wall others
  1832. .if \n(48<\n(38 .nr 48 \n(38
  1833. .48
  1834. .rm 48
  1835. .nr 49 0
  1836. .nr 38 \wName
  1837. .if \n(49<\n(38 .nr 49 \n(38
  1838. .nr 38 \w\_
  1839. .if \n(49<\n(38 .nr 49 \n(38
  1840. .nr 38 \wCONTINUE
  1841. .if \n(49<\n(38 .nr 49 \n(38
  1842. .nr 38 \w 
  1843. .if \n(49<\n(38 .nr 49 \n(38
  1844. .nr 38 \wCURRENT
  1845. .if \n(49<\n(38 .nr 49 \n(38
  1846. .nr 38 \w 
  1847. .if \n(49<\n(38 .nr 49 \n(38
  1848. .nr 38 \wPARENT
  1849. .if \n(49<\n(38 .nr 49 \n(38
  1850. .nr 38 \w 
  1851. .if \n(49<\n(38 .nr 49 \n(38
  1852. .nr 38 \wROOT
  1853. .if \n(49<\n(38 .nr 49 \n(38
  1854. .nr 38 \w 
  1855. .if \n(49<\n(38 .nr 49 \n(38
  1856. .nr 38 \wVOLROOT
  1857. .if \n(49<\n(38 .nr 49 \n(38
  1858. .nr 38 \w 
  1859. .if \n(49<\n(38 .nr 49 \n(38
  1860. .nr 38 \wHOST
  1861. .if \n(49<\n(38 .nr 49 \n(38
  1862. .nr 38 \w 
  1863. .if \n(49<\n(38 .nr 49 \n(38
  1864. .nr 38 \wRESERVED
  1865. .if \n(49<\n(38 .nr 49 \n(38
  1866. .49
  1867. .rm 49
  1868. .nr 50 0
  1869. .nr 38 \wInterpretation if set to 1
  1870. .if \n(50<\n(38 .nr 50 \n(38
  1871. .nr 38 \w\_
  1872. .if \n(50<\n(38 .nr 50 \n(38
  1873. .nr 38 \wComponent recorded in this "SL" continues
  1874. .if \n(50<\n(38 .nr 50 \n(38
  1875. .nr 38 \win next "SL" Component Record
  1876. .if \n(50<\n(38 .nr 50 \n(38
  1877. .nr 38 \wComponent refers to the current directory 
  1878. .if \n(50<\n(38 .nr 50 \n(38
  1879. .nr 38 \w(. in POSIX)
  1880. .if \n(50<\n(38 .nr 50 \n(38
  1881. .nr 38 \wComponent refers to the parent of the 
  1882. .if \n(50<\n(38 .nr 50 \n(38
  1883. .nr 38 \wcurrent directory (.. in POSIX)
  1884. .if \n(50<\n(38 .nr 50 \n(38
  1885. .nr 38 \wComponent refers to the root of the current 
  1886. .if \n(50<\n(38 .nr 50 \n(38
  1887. .nr 38 \wdirectory tree for this process (/ in POSIX)
  1888. .if \n(50<\n(38 .nr 50 \n(38
  1889. .nr 38 \wComponent refers to the directory the
  1890. .if \n(50<\n(38 .nr 50 \n(38
  1891. .nr 38 \wcurrent CD-ROM volume is mounted on
  1892. .if \n(50<\n(38 .nr 50 \n(38
  1893. .nr 38 \wThe local host name should be inserted as 
  1894. .if \n(50<\n(38 .nr 50 \n(38
  1895. .nr 38 \wthe value of the current component
  1896. .if \n(50<\n(38 .nr 50 \n(38
  1897. .nr 38 \wvalue must be 0
  1898. .if \n(50<\n(38 .nr 50 \n(38
  1899. .50
  1900. .rm 50
  1901. .nr 38 1n
  1902. .nr 47 0
  1903. .nr 40 \n(47+((0*\n(38)/2)
  1904. .nr 48 +\n(40
  1905. .nr 41 \n(48+((6*\n(38)/2)
  1906. .nr 49 +\n(41
  1907. .nr 42 \n(49+((6*\n(38)/2)
  1908. .nr 50 +\n(42
  1909. .nr TW \n(50
  1910. .if t .if (\n(TW+\n(.o)>7.65i .tm Table at line 614 file Input is too wide - \n(TW units
  1911. .nr #I \n(.i
  1912. .in +(\n(.lu-\n(TWu-\n(.iu)/2u
  1913. .fc  
  1914. .nr #T 0-1
  1915. .nr #a 0-1
  1916. .eo
  1917. .de T#
  1918. .nr 35 1m
  1919. .ds #d .d
  1920. .if \(ts\n(.z\(ts\(ts .ds #d nl
  1921. .mk ##
  1922. .nr ## -1v
  1923. .ls 1
  1924. .ls
  1925. ..
  1926. .ec
  1927. .ta \n(48u \n(49u \n(50u 
  1928. .nr 35 1m
  1929. .nr 31 \n(.f
  1930. \&\h'|\n(40u'Position\h'|\n(41u'Name\h'|\n(42u'Interpretation if set to 1
  1931. .ta \n(48u \n(49u \n(50u 
  1932. .nr 36 \n(.v
  1933. .vs \n(.vu-\n(.sp
  1934. .nr 35 \n(.vu
  1935. .nr 31 \n(.f
  1936. \&\h'|\n(40u'\h'|\n(40u'\s\n(33\l'|\n(48u'\s0\h'|\n(41u'\h'|\n(41u'\s\n(33\l'|\n(49u'\s0\h'|\n(42u'\h'|\n(42u'\s\n(33\l'|\n(50u'\s0
  1937. .vs \n(36u
  1938. .ta \n(48u \n(49u \n(50u 
  1939. .nr 35 1m
  1940. .nr 31 \n(.f
  1941. \&\h'|\n(40u'0\h'|\n(41u'CONTINUE\h'|\n(42u'Component recorded in this "SL" continues
  1942. .ta \n(48u \n(49u \n(50u 
  1943. .nr 35 1m
  1944. .nr 31 \n(.f
  1945. \&\h'|\n(40u' \h'|\n(41u' \h'|\n(42u'in next "SL" Component Record
  1946. .ta \n(48u \n(49u \n(50u 
  1947. .nr 35 1m
  1948. .nr 31 \n(.f
  1949. \&\h'|\n(40u'1\h'|\n(41u'CURRENT\h'|\n(42u'Component refers to the current directory 
  1950. .ta \n(48u \n(49u \n(50u 
  1951. .nr 35 1m
  1952. .nr 31 \n(.f
  1953. \&\h'|\n(40u' \h'|\n(41u' \h'|\n(42u'(. in POSIX)
  1954. .ta \n(48u \n(49u \n(50u 
  1955. .nr 35 1m
  1956. .nr 31 \n(.f
  1957. \&\h'|\n(40u'2\h'|\n(41u'PARENT\h'|\n(42u'Component refers to the parent of the 
  1958. .ta \n(48u \n(49u \n(50u 
  1959. .nr 35 1m
  1960. .nr 31 \n(.f
  1961. \&\h'|\n(40u' \h'|\n(41u' \h'|\n(42u'current directory (.. in POSIX)
  1962. .ta \n(48u \n(49u \n(50u 
  1963. .nr 35 1m
  1964. .nr 31 \n(.f
  1965. \&\h'|\n(40u'3\h'|\n(41u'ROOT\h'|\n(42u'Component refers to the root of the current 
  1966. .ta \n(48u \n(49u \n(50u 
  1967. .nr 35 1m
  1968. .nr 31 \n(.f
  1969. \&\h'|\n(40u' \h'|\n(41u' \h'|\n(42u'directory tree for this process (/ in POSIX)
  1970. .ta \n(48u \n(49u \n(50u 
  1971. .nr 35 1m
  1972. .nr 31 \n(.f
  1973. \&\h'|\n(40u'4\h'|\n(41u'VOLROOT\h'|\n(42u'Component refers to the directory the
  1974. .ta \n(48u \n(49u \n(50u 
  1975. .nr 35 1m
  1976. .nr 31 \n(.f
  1977. \&\h'|\n(40u' \h'|\n(41u' \h'|\n(42u'current CD-ROM volume is mounted on
  1978. .ta \n(48u \n(49u \n(50u 
  1979. .nr 35 1m
  1980. .nr 31 \n(.f
  1981. \&\h'|\n(40u'5\h'|\n(41u'HOST\h'|\n(42u'The local host name should be inserted as 
  1982. .ta \n(48u \n(49u \n(50u 
  1983. .nr 35 1m
  1984. .nr 31 \n(.f
  1985. \&\h'|\n(40u' \h'|\n(41u' \h'|\n(42u'the value of the current component
  1986. .ta \n(48u \n(49u \n(50u 
  1987. .nr 35 1m
  1988. .nr 31 \n(.f
  1989. \&\h'|\n(40u'all others\h'|\n(41u'RESERVED\h'|\n(42u'value must be 0
  1990. .fc
  1991. .nr T. 1
  1992. .T# 1
  1993. .in \n(#Iu
  1994. .35
  1995. .TE
  1996. .if \n-(b.=0 .nr c. \n(.c-\n(d.-18
  1997. .sp
  1998. Bits 1 - 7 are mutually exclusive.
  1999. .sp
  2000. .LI "[B]"
  2001. "BP 2 - Component Length (LEN_CP)" shall specify as an 8-bit number the
  2002. length in bytes of the (portion of) the component recorded in the
  2003. current Component Record.
  2004. This length shall not include the Component Record Flags byte or Length byte.
  2005. If any of the 
  2006. 2\s-1\u1\d\s0 thru 2\s-1\u5\d\s0
  2007. bits are set, the value of this field shall be zero.
  2008. This field shall be recorded according to ISO 9660:1988 Format section 7.1.1.
  2009. .sp
  2010. .LI "[C]"
  2011. "BP 3 to 2 + LEN_CP - Component" shall contain (the portion of) the component
  2012. recorded in the current Component Record.
  2013. The content of this field shall be recorded according to section 3.2 above.
  2014. .LE
  2015. .sp
  2016. .sp
  2017. .TB "SL System Use Field - Component Record"
  2018. .TS
  2019. .if \n+(b.=1 .nr d. \n(.c-\n(c.-1
  2020. .de 35
  2021. .ps \n(.s
  2022. .vs \n(.vu
  2023. .in \n(.iu
  2024. .if \n(.u .fi
  2025. .if \n(.j .ad
  2026. .if \n(.j=0 .na
  2027. ..
  2028. .nf
  2029. .nr #~ 0
  2030. .if \n(.T .if n .nr #~ 0.6n
  2031. .ds #d .d
  2032. .if \(ts\n(.z\(ts\(ts .ds #d nl
  2033. .fc
  2034. .nr 33 \n(.s
  2035. .rm 48 49 50
  2036. .nr 48 0
  2037. .nr 38 \w 
  2038. .if \n(48<\n(38 .nr 48 \n(38
  2039. .nr 38 \wCOMP_FLAGS
  2040. .if \n(48<\n(38 .nr 48 \n(38
  2041. .nr 38 \w(BP1)
  2042. .if \n(48<\n(38 .nr 48 \n(38
  2043. .nr 38 \w 
  2044. .if \n(48<\n(38 .nr 48 \n(38
  2045. .48
  2046. .rm 48
  2047. .nr 49 0
  2048. .nr 38 \w 
  2049. .if \n(49<\n(38 .nr 49 \n(38
  2050. .nr 38 \wCOMP_LEN
  2051. .if \n(49<\n(38 .nr 49 \n(38
  2052. .nr 38 \w(BP2)
  2053. .if \n(49<\n(38 .nr 49 \n(38
  2054. .nr 38 \w 
  2055. .if \n(49<\n(38 .nr 49 \n(38
  2056. .49
  2057. .rm 49
  2058. .nr 50 0
  2059. .nr 38 \w 
  2060. .if \n(50<\n(38 .nr 50 \n(38
  2061. .nr 38 \wCOMPONENT
  2062. .if \n(50<\n(38 .nr 50 \n(38
  2063. .nr 38 \w(BP3 to 2+LEN_CP)
  2064. .if \n(50<\n(38 .nr 50 \n(38
  2065. .nr 38 \w 
  2066. .if \n(50<\n(38 .nr 50 \n(38
  2067. .50
  2068. .rm 50
  2069. .nr 38 1n
  2070. .nr 47 0
  2071. .nr 40 \n(47+((2*\n(38)/2)
  2072. .nr 48 +\n(40
  2073. .nr 41 \n(48+((6*\n(38)/2)
  2074. .nr 49 +\n(41
  2075. .nr 42 \n(49+((6*\n(38)/2)
  2076. .nr 50 +\n(42
  2077. .nr TW \n(50
  2078. .nr TW +((2*\n(38)/2)
  2079. .if t .if (\n(TW+\n(.o)>7.65i .tm Table at line 643 file Input is too wide - \n(TW units
  2080. .ne 4v+0p
  2081. .nr #I \n(.i
  2082. .in +(\n(.lu-\n(TWu-\n(.iu)/2u
  2083. .fc  
  2084. .nr #T 0-1
  2085. .nr #a 0-1
  2086. .nr #a 0-1
  2087. .eo
  2088. .de T#
  2089. .nr 35 1m
  2090. .ds #d .d
  2091. .if \(ts\n(.z\(ts\(ts .ds #d nl
  2092. .mk ##
  2093. .nr ## -1v
  2094. .ls 1
  2095. .if \n(#T>=0 .nr #a \n(#T
  2096. .if \n(T. .vs \n(.vu-\n(.sp
  2097. .if \n(T. \h'|0'\s\n(33\l'|\n(TWu\(ul'\s0
  2098. .if \n(T. .vs
  2099. .if \n(#a>=0 .sp -1
  2100. .if \n(#a>=0 \h'|0'\s\n(33\h'-\n(#~u'\L'|\n(#au-1v'\s0\v'\n(\*(#du-\n(#au+1v'\h'|\n(TWu'
  2101. .if \n(#a>=0 .sp -1
  2102. .if \n(#a>=0 \h'(|\n(41u+|\n(48u)/2u'\s\n(33\h'-\n(#~u'\L'|\n(#au-1v'\s0\v'\n(\*(#du-\n(#au+1v'\h'|\n(TWu'
  2103. .if \n(#a>=0 .sp -1
  2104. .if \n(#a>=0 \h'(|\n(42u+|\n(49u)/2u'\s\n(33\h'-\n(#~u'\L'|\n(#au-1v'\s0\v'\n(\*(#du-\n(#au+1v'\h'|\n(TWu'
  2105. .if \n(#a>=0 .sp -1
  2106. .if \n(#a>=0 \h'|\n(TWu'\s\n(33\h'-\n(#~u'\L'|\n(#au-1v'\s0\v'\n(\*(#du-\n(#au+1v'
  2107. .ls
  2108. ..
  2109. .ec
  2110. .nr 36 \n(.v
  2111. .vs \n(.vu-\n(.sp
  2112. \h'|0'\s\n(33\l'|\n(TWu\(ul'\s0
  2113. .vs \n(36u
  2114. .mk #a
  2115. .ta \n(48u \n(49u \n(50u 
  2116. .nr 35 1m
  2117. .nr 31 \n(.f
  2118. \&\h'|\n(40u' \h'|\n(41u' \h'|\n(42u' 
  2119. .ta \n(48u \n(49u \n(50u 
  2120. .nr 35 1m
  2121. .nr 31 \n(.f
  2122. \&\h'|\n(40u'COMP_FLAGS\h'|\n(41u'COMP_LEN\h'|\n(42u'COMPONENT
  2123. .ta \n(48u \n(49u \n(50u 
  2124. .nr 35 1m
  2125. .nr 31 \n(.f
  2126. \&\h'|\n(40u'(BP1)\h'|\n(41u'(BP2)\h'|\n(42u'(BP3 to 2+LEN_CP)
  2127. .ta \n(48u \n(49u \n(50u 
  2128. .nr 35 1m
  2129. .nr 31 \n(.f
  2130. \&\h'|\n(40u' \h'|\n(41u' \h'|\n(42u' 
  2131. .fc
  2132. .nr T. 1
  2133. .T# 1
  2134. .in \n(#Iu
  2135. .35
  2136. .nr #a 0
  2137. .TE
  2138. .if \n-(b.=0 .nr c. \n(.c-\n(d.-7
  2139. .sp
  2140. .sp
  2141. .bp
  2142. .sp
  2143. .H 3 "Description of the NM System Use Field"
  2144. .sp
  2145. The purpose of the "NM" System Use Field is to store the content
  2146. of an Alternate Name to support POSIX-style or other names.
  2147. This System Use Field is optional.
  2148. If no "NM" field(s) are recorded for a
  2149. specific directory record, the ISO 9660 file identifier shall be used.
  2150. .sp
  2151. If more than one "NM" System Use Field appears in (all) the
  2152. System Use Area(s) for a single directory record, the contents ([5]
  2153. below) of each should be concatenated together, in the order in which
  2154. they were recorded, until a CONTINUE flag with value zero is
  2155. encountered (see [4] below), to obtain the entire Alternate Name.
  2156. .sp
  2157. "NM" System Use Fields recorded for the ISO 9660 directory
  2158. records with names (00) and (01), used to designate the current and
  2159. parent directories, respectively, should be ignored.
  2160. Instead, the receiving system should convert these names to the appropriate
  2161. receiving system-dependent designations for the current and parent
  2162. directories.
  2163. .sp
  2164. No sorting of the directory records by Alternate Names is
  2165. specified by the RRIP, nor can one necessarily be imposed by
  2166. originating systems or assumed by receiving systems.
  2167. The ISO 9660 specifies a sorting order based upon the ISO 9660 file 
  2168. identifier (see ISO 9660:1988, section 9.3).
  2169. .sp
  2170. The format of the "NM" System Use Field is as follows:
  2171. .sp
  2172. .VL 10 5
  2173. .LI "[1]"
  2174. "BP 1 to BP 2 - Signature Word" shall indicate that the System Use Field
  2175. is a "NM" type System Use Field.
  2176. The bytes in this field shall be (4E)(4D) ("NM").
  2177. .LI "[2]"
  2178. "BP 3 - Length (LEN_NAM)" shall specify as an 8-bit number the length in
  2179. bytes of the "NM" System Use Field.
  2180. The number in this field shall be 5 plus the length (of the portion)
  2181. of the Alternate Name recorded in this "NM" field.
  2182. This field shall be recorded according to ISO 9660:1988 Format 
  2183. section 7.1.1.
  2184. .LI "[3]"
  2185. "BP 4 - System Use Field Version" shall specify as an 8-bit number an
  2186. identification of the version of the "NM" System Use Field.
  2187. The number in this field shall be 1 for this version.
  2188. This field shall be recorded according to ISO 9660:1988 Format
  2189. section 7.1.1.
  2190. .bp
  2191. .LI "[4]"
  2192. "BP 5 - Flags" shall contain bit field flags numbered 0
  2193. to 7 starting with the least significant bit as follows:
  2194. .sp
  2195. .TS
  2196. .if \n+(b.=1 .nr d. \n(.c-\n(c.-1
  2197. .de 35
  2198. .ps \n(.s
  2199. .vs \n(.vu
  2200. .in \n(.iu
  2201. .if \n(.u .fi
  2202. .if \n(.j .ad
  2203. .if \n(.j=0 .na
  2204. ..
  2205. .nf
  2206. .nr #~ 0
  2207. .if \n(.T .if n .nr #~ 0.6n
  2208. .ds #d .d
  2209. .if \(ts\n(.z\(ts\(ts .ds #d nl
  2210. .fc
  2211. .nr 33 \n(.s
  2212. .rm 48 49 50
  2213. .nr 48 0
  2214. .nr 38 \wPosition
  2215. .if \n(48<\n(38 .nr 48 \n(38
  2216. .nr 38 \w\_
  2217. .if \n(48<\n(38 .nr 48 \n(38
  2218. .nr 38 \w0
  2219. .if \n(48<\n(38 .nr 48 \n(38
  2220. .nr 38 \w 
  2221. .if \n(48<\n(38 .nr 48 \n(38
  2222. .nr 38 \w1
  2223. .if \n(48<\n(38 .nr 48 \n(38
  2224. .nr 38 \w 
  2225. .if \n(48<\n(38 .nr 48 \n(38
  2226. .nr 38 \w2
  2227. .if \n(48<\n(38 .nr 48 \n(38
  2228. .nr 38 \w 
  2229. .if \n(48<\n(38 .nr 48 \n(38
  2230. .nr 38 \w3
  2231. .if \n(48<\n(38 .nr 48 \n(38
  2232. .nr 38 \w4
  2233. .if \n(48<\n(38 .nr 48 \n(38
  2234. .nr 38 \w 
  2235. .if \n(48<\n(38 .nr 48 \n(38
  2236. .nr 38 \w5
  2237. .if \n(48<\n(38 .nr 48 \n(38
  2238. .nr 38 \w 
  2239. .if \n(48<\n(38 .nr 48 \n(38
  2240. .nr 38 \wall others
  2241. .if \n(48<\n(38 .nr 48 \n(38
  2242. .48
  2243. .rm 48
  2244. .nr 49 0
  2245. .nr 38 \wName
  2246. .if \n(49<\n(38 .nr 49 \n(38
  2247. .nr 38 \w\_
  2248. .if \n(49<\n(38 .nr 49 \n(38
  2249. .nr 38 \wCONTINUE
  2250. .if \n(49<\n(38 .nr 49 \n(38
  2251. .nr 38 \w 
  2252. .if \n(49<\n(38 .nr 49 \n(38
  2253. .nr 38 \wCURRENT
  2254. .if \n(49<\n(38 .nr 49 \n(38
  2255. .nr 38 \w 
  2256. .if \n(49<\n(38 .nr 49 \n(38
  2257. .nr 38 \wPARENT
  2258. .if \n(49<\n(38 .nr 49 \n(38
  2259. .nr 38 \w 
  2260. .if \n(49<\n(38 .nr 49 \n(38
  2261. .nr 38 \wRESERVED
  2262. .if \n(49<\n(38 .nr 49 \n(38
  2263. .nr 38 \wRESERVED
  2264. .if \n(49<\n(38 .nr 49 \n(38
  2265. .nr 38 \w 
  2266. .if \n(49<\n(38 .nr 49 \n(38
  2267. .nr 38 \wHOST
  2268. .if \n(49<\n(38 .nr 49 \n(38
  2269. .nr 38 \w 
  2270. .if \n(49<\n(38 .nr 49 \n(38
  2271. .nr 38 \wRESERVED
  2272. .if \n(49<\n(38 .nr 49 \n(38
  2273. .49
  2274. .rm 49
  2275. .nr 50 0
  2276. .nr 38 \wInterpretation if set to 1
  2277. .if \n(50<\n(38 .nr 50 \n(38
  2278. .nr 38 \w\_
  2279. .if \n(50<\n(38 .nr 50 \n(38
  2280. .nr 38 \wAlternate Name continues in next "NM"
  2281. .if \n(50<\n(38 .nr 50 \n(38
  2282. .nr 38 \wfield
  2283. .if \n(50<\n(38 .nr 50 \n(38
  2284. .nr 38 \wAlternate Name refers to the current
  2285. .if \n(50<\n(38 .nr 50 \n(38
  2286. .nr 38 \wdirectory (. in POSIX)
  2287. .if \n(50<\n(38 .nr 50 \n(38
  2288. .nr 38 \wAlternate Name refers to the parent of
  2289. .if \n(50<\n(38 .nr 50 \n(38
  2290. .nr 38 \wthe current directory (.. in POSIX)
  2291. .if \n(50<\n(38 .nr 50 \n(38
  2292. .nr 38 \wvalue must be 0
  2293. .if \n(50<\n(38 .nr 50 \n(38
  2294. .nr 38 \wvalue must be 0
  2295. .if \n(50<\n(38 .nr 50 \n(38
  2296. .nr 38 \wof the current CD-ROM volume
  2297. .if \n(50<\n(38 .nr 50 \n(38
  2298. .nr 38 \wThe local host name should be inserted as 
  2299. .if \n(50<\n(38 .nr 50 \n(38
  2300. .nr 38 \wthe value of the Alternate Name
  2301. .if \n(50<\n(38 .nr 50 \n(38
  2302. .nr 38 \wvalue must be 0
  2303. .if \n(50<\n(38 .nr 50 \n(38
  2304. .50
  2305. .rm 50
  2306. .nr 38 1n
  2307. .nr 47 0
  2308. .nr 40 \n(47+((0*\n(38)/2)
  2309. .nr 48 +\n(40
  2310. .nr 41 \n(48+((6*\n(38)/2)
  2311. .nr 49 +\n(41
  2312. .nr 42 \n(49+((6*\n(38)/2)
  2313. .nr 50 +\n(42
  2314. .nr TW \n(50
  2315. .if t .if (\n(TW+\n(.o)>7.65i .tm Table at line 717 file Input is too wide - \n(TW units
  2316. .nr #I \n(.i
  2317. .in +(\n(.lu-\n(TWu-\n(.iu)/2u
  2318. .fc  
  2319. .nr #T 0-1
  2320. .nr #a 0-1
  2321. .eo
  2322. .de T#
  2323. .nr 35 1m
  2324. .ds #d .d
  2325. .if \(ts\n(.z\(ts\(ts .ds #d nl
  2326. .mk ##
  2327. .nr ## -1v
  2328. .ls 1
  2329. .ls
  2330. ..
  2331. .ec
  2332. .ta \n(48u \n(49u \n(50u 
  2333. .nr 35 1m
  2334. .nr 31 \n(.f
  2335. \&\h'|\n(40u'Position\h'|\n(41u'Name\h'|\n(42u'Interpretation if set to 1
  2336. .ta \n(48u \n(49u \n(50u 
  2337. .nr 36 \n(.v
  2338. .vs \n(.vu-\n(.sp
  2339. .nr 35 \n(.vu
  2340. .nr 31 \n(.f
  2341. \&\h'|\n(40u'\h'|\n(40u'\s\n(33\l'|\n(48u'\s0\h'|\n(41u'\h'|\n(41u'\s\n(33\l'|\n(49u'\s0\h'|\n(42u'\h'|\n(42u'\s\n(33\l'|\n(50u'\s0
  2342. .vs \n(36u
  2343. .ta \n(48u \n(49u \n(50u 
  2344. .nr 35 1m
  2345. .nr 31 \n(.f
  2346. \&\h'|\n(40u'0\h'|\n(41u'CONTINUE\h'|\n(42u'Alternate Name continues in next "NM"
  2347. .ta \n(48u \n(49u \n(50u 
  2348. .nr 35 1m
  2349. .nr 31 \n(.f
  2350. \&\h'|\n(40u' \h'|\n(41u' \h'|\n(42u'field
  2351. .ta \n(48u \n(49u \n(50u 
  2352. .nr 35 1m
  2353. .nr 31 \n(.f
  2354. \&\h'|\n(40u'1\h'|\n(41u'CURRENT\h'|\n(42u'Alternate Name refers to the current
  2355. .ta \n(48u \n(49u \n(50u 
  2356. .nr 35 1m
  2357. .nr 31 \n(.f
  2358. \&\h'|\n(40u' \h'|\n(41u' \h'|\n(42u'directory (. in POSIX)
  2359. .ta \n(48u \n(49u \n(50u 
  2360. .nr 35 1m
  2361. .nr 31 \n(.f
  2362. \&\h'|\n(40u'2\h'|\n(41u'PARENT\h'|\n(42u'Alternate Name refers to the parent of
  2363. .ta \n(48u \n(49u \n(50u 
  2364. .nr 35 1m
  2365. .nr 31 \n(.f
  2366. \&\h'|\n(40u' \h'|\n(41u' \h'|\n(42u'the current directory (.. in POSIX)
  2367. .ta \n(48u \n(49u \n(50u 
  2368. .nr 35 1m
  2369. .nr 31 \n(.f
  2370. \&\h'|\n(40u'3\h'|\n(41u'RESERVED\h'|\n(42u'value must be 0
  2371. .ta \n(48u \n(49u \n(50u 
  2372. .nr 35 1m
  2373. .nr 31 \n(.f
  2374. \&\h'|\n(40u'4\h'|\n(41u'RESERVED\h'|\n(42u'value must be 0
  2375. .ta \n(48u \n(49u \n(50u 
  2376. .nr 35 1m
  2377. .nr 31 \n(.f
  2378. \&\h'|\n(40u' \h'|\n(41u' \h'|\n(42u'of the current CD-ROM volume
  2379. .ta \n(48u \n(49u \n(50u 
  2380. .nr 35 1m
  2381. .nr 31 \n(.f
  2382. \&\h'|\n(40u'5\h'|\n(41u'HOST\h'|\n(42u'The local host name should be inserted as 
  2383. .ta \n(48u \n(49u \n(50u 
  2384. .nr 35 1m
  2385. .nr 31 \n(.f
  2386. \&\h'|\n(40u' \h'|\n(41u' \h'|\n(42u'the value of the Alternate Name
  2387. .ta \n(48u \n(49u \n(50u 
  2388. .nr 35 1m
  2389. .nr 31 \n(.f
  2390. \&\h'|\n(40u'all others\h'|\n(41u'RESERVED\h'|\n(42u'value must be 0
  2391. .fc
  2392. .nr T. 1
  2393. .T# 1
  2394. .in \n(#Iu
  2395. .35
  2396. .TE
  2397. .if \n-(b.=0 .nr c. \n(.c-\n(d.-17
  2398. .sp
  2399. Bits 1 - 7 are mutually exclusive.
  2400. .sp
  2401. .LI "[5]"
  2402. "BP 6 to LEN_NAM - Alternate Name" shall contain (a portion of) the 
  2403. content of the Alternate Name.
  2404. The content of this field shall be recorded according to section 3.2 above.
  2405. .LE
  2406. .sp
  2407. .sp
  2408. .TB "NM System Use Field - Version 1"
  2409. .TS
  2410. .if \n+(b.=1 .nr d. \n(.c-\n(c.-1
  2411. .de 35
  2412. .ps \n(.s
  2413. .vs \n(.vu
  2414. .in \n(.iu
  2415. .if \n(.u .fi
  2416. .if \n(.j .ad
  2417. .if \n(.j=0 .na
  2418. ..
  2419. .nf
  2420. .nr #~ 0
  2421. .if \n(.T .if n .nr #~ 0.6n
  2422. .ds #d .d
  2423. .if \(ts\n(.z\(ts\(ts .ds #d nl
  2424. .fc
  2425. .nr 33 \n(.s
  2426. .rm 54 55 56 57 58 59
  2427. .nr 54 0
  2428. .nr 38 \w 
  2429. .if \n(54<\n(38 .nr 54 \n(38
  2430. .nr 38 \w'N'
  2431. .if \n(54<\n(38 .nr 54 \n(38
  2432. .nr 38 \w(BP1)
  2433. .if \n(54<\n(38 .nr 54 \n(38
  2434. .nr 38 \w 
  2435. .if \n(54<\n(38 .nr 54 \n(38
  2436. .54
  2437. .rm 54
  2438. .nr 55 0
  2439. .nr 38 \w 
  2440. .if \n(55<\n(38 .nr 55 \n(38
  2441. .nr 38 \w'M'
  2442. .if \n(55<\n(38 .nr 55 \n(38
  2443. .nr 38 \w(BP2)
  2444. .if \n(55<\n(38 .nr 55 \n(38
  2445. .nr 38 \w 
  2446. .if \n(55<\n(38 .nr 55 \n(38
  2447. .55
  2448. .rm 55
  2449. .nr 56 0
  2450. .nr 38 \w 
  2451. .if \n(56<\n(38 .nr 56 \n(38
  2452. .nr 38 \wLENGTH
  2453. .if \n(56<\n(38 .nr 56 \n(38
  2454. .nr 38 \w(BP3)
  2455. .if \n(56<\n(38 .nr 56 \n(38
  2456. .nr 38 \w 
  2457. .if \n(56<\n(38 .nr 56 \n(38
  2458. .56
  2459. .rm 56
  2460. .nr 57 0
  2461. .nr 38 \w 
  2462. .if \n(57<\n(38 .nr 57 \n(38
  2463. .nr 38 \w1
  2464. .if \n(57<\n(38 .nr 57 \n(38
  2465. .nr 38 \w(BP4)
  2466. .if \n(57<\n(38 .nr 57 \n(38
  2467. .nr 38 \w 
  2468. .if \n(57<\n(38 .nr 57 \n(38
  2469. .57
  2470. .rm 57
  2471. .nr 58 0
  2472. .nr 38 \w 
  2473. .if \n(58<\n(38 .nr 58 \n(38
  2474. .nr 38 \wFLAGS
  2475. .if \n(58<\n(38 .nr 58 \n(38
  2476. .nr 38 \w(BP5)
  2477. .if \n(58<\n(38 .nr 58 \n(38
  2478. .nr 38 \w 
  2479. .if \n(58<\n(38 .nr 58 \n(38
  2480. .58
  2481. .rm 58
  2482. .nr 59 0
  2483. .nr 38 \w 
  2484. .if \n(59<\n(38 .nr 59 \n(38
  2485. .nr 38 \wALTERNATE NAME
  2486. .if \n(59<\n(38 .nr 59 \n(38
  2487. .nr 38 \w(BP6 to LEN_NAM)
  2488. .if \n(59<\n(38 .nr 59 \n(38
  2489. .nr 38 \w 
  2490. .if \n(59<\n(38 .nr 59 \n(38
  2491. .59
  2492. .rm 59
  2493. .nr 38 1n
  2494. .nr 53 0
  2495. .nr 40 \n(53+((2*\n(38)/2)
  2496. .nr 54 +\n(40
  2497. .nr 41 \n(54+((6*\n(38)/2)
  2498. .nr 55 +\n(41
  2499. .nr 42 \n(55+((6*\n(38)/2)
  2500. .nr 56 +\n(42
  2501. .nr 43 \n(56+((6*\n(38)/2)
  2502. .nr 57 +\n(43
  2503. .nr 44 \n(57+((6*\n(38)/2)
  2504. .nr 58 +\n(44
  2505. .nr 45 \n(58+((6*\n(38)/2)
  2506. .nr 59 +\n(45
  2507. .nr TW \n(59
  2508. .nr TW +((2*\n(38)/2)
  2509. .if t .if (\n(TW+\n(.o)>7.65i .tm Table at line 736 file Input is too wide - \n(TW units
  2510. .ne 4v+0p
  2511. .nr #I \n(.i
  2512. .in +(\n(.lu-\n(TWu-\n(.iu)/2u
  2513. .fc  
  2514. .nr #T 0-1
  2515. .nr #a 0-1
  2516. .nr #a 0-1
  2517. .eo
  2518. .de T#
  2519. .nr 35 1m
  2520. .ds #d .d
  2521. .if \(ts\n(.z\(ts\(ts .ds #d nl
  2522. .mk ##
  2523. .nr ## -1v
  2524. .ls 1
  2525. .if \n(#T>=0 .nr #a \n(#T
  2526. .if \n(T. .vs \n(.vu-\n(.sp
  2527. .if \n(T. \h'|0'\s\n(33\l'|\n(TWu\(ul'\s0
  2528. .if \n(T. .vs
  2529. .if \n(#a>=0 .sp -1
  2530. .if \n(#a>=0 \h'|0'\s\n(33\h'-\n(#~u'\L'|\n(#au-1v'\s0\v'\n(\*(#du-\n(#au+1v'\h'|\n(TWu'
  2531. .if \n(#a>=0 .sp -1
  2532. .if \n(#a>=0 \h'(|\n(41u+|\n(54u)/2u'\s\n(33\h'-\n(#~u'\L'|\n(#au-1v'\s0\v'\n(\*(#du-\n(#au+1v'\h'|\n(TWu'
  2533. .if \n(#a>=0 .sp -1
  2534. .if \n(#a>=0 \h'(|\n(42u+|\n(55u)/2u'\s\n(33\h'-\n(#~u'\L'|\n(#au-1v'\s0\v'\n(\*(#du-\n(#au+1v'\h'|\n(TWu'
  2535. .if \n(#a>=0 .sp -1
  2536. .if \n(#a>=0 \h'(|\n(43u+|\n(56u)/2u'\s\n(33\h'-\n(#~u'\L'|\n(#au-1v'\s0\v'\n(\*(#du-\n(#au+1v'\h'|\n(TWu'
  2537. .if \n(#a>=0 .sp -1
  2538. .if \n(#a>=0 \h'(|\n(44u+|\n(57u)/2u'\s\n(33\h'-\n(#~u'\L'|\n(#au-1v'\s0\v'\n(\*(#du-\n(#au+1v'\h'|\n(TWu'
  2539. .if \n(#a>=0 .sp -1
  2540. .if \n(#a>=0 \h'(|\n(45u+|\n(58u)/2u'\s\n(33\h'-\n(#~u'\L'|\n(#au-1v'\s0\v'\n(\*(#du-\n(#au+1v'\h'|\n(TWu'
  2541. .if \n(#a>=0 .sp -1
  2542. .if \n(#a>=0 \h'|\n(TWu'\s\n(33\h'-\n(#~u'\L'|\n(#au-1v'\s0\v'\n(\*(#du-\n(#au+1v'
  2543. .ls
  2544. ..
  2545. .ec
  2546. .nr 36 \n(.v
  2547. .vs \n(.vu-\n(.sp
  2548. \h'|0'\s\n(33\l'|\n(TWu\(ul'\s0
  2549. .vs \n(36u
  2550. .mk #a
  2551. .ta \n(54u \n(55u \n(56u \n(57u \n(58u \n(59u 
  2552. .nr 35 1m
  2553. .nr 31 \n(.f
  2554. \&\h'|\n(40u' \h'|\n(41u' \h'|\n(42u' \h'|\n(43u' \h'|\n(44u' \h'|\n(45u' 
  2555. .ta \n(54u \n(55u \n(56u \n(57u \n(58u \n(59u 
  2556. .nr 35 1m
  2557. .nr 31 \n(.f
  2558. \&\h'|\n(40u''N'\h'|\n(41u''M'\h'|\n(42u'LENGTH\h'|\n(43u'1\h'|\n(44u'FLAGS\h'|\n(45u'ALTERNATE NAME
  2559. .ta \n(54u \n(55u \n(56u \n(57u \n(58u \n(59u 
  2560. .nr 35 1m
  2561. .nr 31 \n(.f
  2562. \&\h'|\n(40u'(BP1)\h'|\n(41u'(BP2)\h'|\n(42u'(BP3)\h'|\n(43u'(BP4)\h'|\n(44u'(BP5)\h'|\n(45u'(BP6 to LEN_NAM)
  2563. .ta \n(54u \n(55u \n(56u \n(57u \n(58u \n(59u 
  2564. .nr 35 1m
  2565. .nr 31 \n(.f
  2566. \&\h'|\n(40u' \h'|\n(41u' \h'|\n(42u' \h'|\n(43u' \h'|\n(44u' \h'|\n(45u' 
  2567. .fc
  2568. .nr T. 1
  2569. .T# 1
  2570. .in \n(#Iu
  2571. .35
  2572. .nr #a 0
  2573. .TE
  2574. .if \n-(b.=0 .nr c. \n(.c-\n(d.-7
  2575. .sp
  2576. .sp
  2577. .sp
  2578. .H 3 "System Use Fields for Handling Deep Directory Trees"
  2579. .sp
  2580. The ISO 9660:1988 mandates directory depths of no more than eight levels.
  2581. Deeper directories must be reorganized to be recorded under the ISO 9660.
  2582. The RRIP includes definitions of three System Use
  2583. Fields to support logical reconstruction of deep directory trees while
  2584. retaining complete ISO 9660 compliance.
  2585. .sp
  2586. For each specific directory, either all three of the following
  2587. fields must be appropriately recorded, or none shall be recorded.
  2588. .sp
  2589. Table 9 and Table 10 at the end of this section have graphical examples
  2590. of Deep Directory Trees.
  2591. .bp
  2592. .H 4 "Description of the CL System Use Field"
  2593. .sp
  2594. The purpose of the "CL" System Use Field is to record the new
  2595. location of a directory which has been relocated.
  2596. The field contains the Logical Block number of the Logical Sector in which 
  2597. the first directory record of the moved Directory is stored.
  2598. .sp
  2599. The "CL" System Use Field is optional.
  2600. If recorded, a "CL" System Use Field shall be recorded in the System Use 
  2601. Area of a ISO 9660 directory record which describes a file which has the 
  2602. same name as, and occupies the original position in the ISO 9660 directory tree
  2603. of, the moved Directory.
  2604. No more than one "CL" System Use Field shall appear in (all) the System Use 
  2605. Area(s) for a single directory record.
  2606. .sp
  2607. Except for the ISO 9660 name, the Alternate Name (recorded in an
  2608. "NM" System Use Field), and the new location of the Directory, all
  2609. other information stored in the directory for this file should
  2610. be ignored.
  2611. The contents of this file are not specified by this document.
  2612. All attributes of the moved Directory shall be recorded in the first directory 
  2613. record ("dot" entry) of the moved Directory in its new location.
  2614. .sp
  2615. The format of the "CL" System Use Field is as follows:
  2616. .sp
  2617. .VL 10 5
  2618. .LI "[1]"
  2619. "BP 1 to BP 2 - Signature Word" shall indicate that the System Use Field
  2620. is a "CL" type System Use Field.
  2621. The bytes in this field shall be (43)(4C) ("CL").
  2622. .LI "[2]"
  2623. "BP 3 - Length" shall specify as an 8-bit number the length in
  2624. bytes of the "CL" System Use Field.
  2625. The number in this field shall be 12 for this version.
  2626. This field shall be recorded according to ISO 9660:1988 Format 
  2627. section 7.1.1.
  2628. .LI "[3]"
  2629. "BP 4 - System Use Field Version" shall specify as an 8-bit number an
  2630. identification of the version of the "CL" System Use Field.
  2631. The number in this field shall be 1 for this version.
  2632. This field shall be recorded according to ISO 9660:1988 Format
  2633. section 7.1.1.
  2634. .LI "[4]"
  2635. "BP 5 to BP 12 - Location of Child Directory" shall specify as a
  2636. 32-bit number the Logical Block Number of the first Logical Block
  2637. allocated to the moved directory.
  2638. This field shall be recorded according to ISO 9660:1988 Format section 7.3.3.
  2639. .LE
  2640. .sp
  2641. .sp
  2642. .TB "CL System Use Field - Version 1"
  2643. .TS
  2644. .if \n+(b.=1 .nr d. \n(.c-\n(c.-1
  2645. .de 35
  2646. .ps \n(.s
  2647. .vs \n(.vu
  2648. .in \n(.iu
  2649. .if \n(.u .fi
  2650. .if \n(.j .ad
  2651. .if \n(.j=0 .na
  2652. ..
  2653. .nf
  2654. .nr #~ 0
  2655. .if \n(.T .if n .nr #~ 0.6n
  2656. .ds #d .d
  2657. .if \(ts\n(.z\(ts\(ts .ds #d nl
  2658. .fc
  2659. .nr 33 \n(.s
  2660. .rm 52 53 54 55 56
  2661. .nr 52 0
  2662. .nr 38 \w 
  2663. .if \n(52<\n(38 .nr 52 \n(38
  2664. .nr 38 \w'C'
  2665. .if \n(52<\n(38 .nr 52 \n(38
  2666. .nr 38 \w(BP1)
  2667. .if \n(52<\n(38 .nr 52 \n(38
  2668. .nr 38 \w 
  2669. .if \n(52<\n(38 .nr 52 \n(38
  2670. .52
  2671. .rm 52
  2672. .nr 53 0
  2673. .nr 38 \w 
  2674. .if \n(53<\n(38 .nr 53 \n(38
  2675. .nr 38 \w'L'
  2676. .if \n(53<\n(38 .nr 53 \n(38
  2677. .nr 38 \w(BP2)
  2678. .if \n(53<\n(38 .nr 53 \n(38
  2679. .nr 38 \w 
  2680. .if \n(53<\n(38 .nr 53 \n(38
  2681. .53
  2682. .rm 53
  2683. .nr 54 0
  2684. .nr 38 \w 
  2685. .if \n(54<\n(38 .nr 54 \n(38
  2686. .nr 38 \w12
  2687. .if \n(54<\n(38 .nr 54 \n(38
  2688. .nr 38 \w(BP3)
  2689. .if \n(54<\n(38 .nr 54 \n(38
  2690. .nr 38 \w 
  2691. .if \n(54<\n(38 .nr 54 \n(38
  2692. .54
  2693. .rm 54
  2694. .nr 55 0
  2695. .nr 38 \w 
  2696. .if \n(55<\n(38 .nr 55 \n(38
  2697. .nr 38 \w1
  2698. .if \n(55<\n(38 .nr 55 \n(38
  2699. .nr 38 \w(BP4)
  2700. .if \n(55<\n(38 .nr 55 \n(38
  2701. .nr 38 \w 
  2702. .if \n(55<\n(38 .nr 55 \n(38
  2703. .55
  2704. .rm 55
  2705. .nr 56 0
  2706. .nr 38 \w 
  2707. .if \n(56<\n(38 .nr 56 \n(38
  2708. .nr 38 \wLOC of CHILD DIRECTORY
  2709. .if \n(56<\n(38 .nr 56 \n(38
  2710. .nr 38 \w(BP5 to BP12)
  2711. .if \n(56<\n(38 .nr 56 \n(38
  2712. .nr 38 \w 
  2713. .if \n(56<\n(38 .nr 56 \n(38
  2714. .56
  2715. .rm 56
  2716. .nr 38 1n
  2717. .nr 51 0
  2718. .nr 40 \n(51+((2*\n(38)/2)
  2719. .nr 52 +\n(40
  2720. .nr 41 \n(52+((6*\n(38)/2)
  2721. .nr 53 +\n(41
  2722. .nr 42 \n(53+((6*\n(38)/2)
  2723. .nr 54 +\n(42
  2724. .nr 43 \n(54+((6*\n(38)/2)
  2725. .nr 55 +\n(43
  2726. .nr 44 \n(55+((6*\n(38)/2)
  2727. .nr 56 +\n(44
  2728. .nr TW \n(56
  2729. .nr TW +((2*\n(38)/2)
  2730. .if t .if (\n(TW+\n(.o)>7.65i .tm Table at line 812 file Input is too wide - \n(TW units
  2731. .ne 4v+0p
  2732. .nr #I \n(.i
  2733. .in +(\n(.lu-\n(TWu-\n(.iu)/2u
  2734. .fc  
  2735. .nr #T 0-1
  2736. .nr #a 0-1
  2737. .nr #a 0-1
  2738. .eo
  2739. .de T#
  2740. .nr 35 1m
  2741. .ds #d .d
  2742. .if \(ts\n(.z\(ts\(ts .ds #d nl
  2743. .mk ##
  2744. .nr ## -1v
  2745. .ls 1
  2746. .if \n(#T>=0 .nr #a \n(#T
  2747. .if \n(T. .vs \n(.vu-\n(.sp
  2748. .if \n(T. \h'|0'\s\n(33\l'|\n(TWu\(ul'\s0
  2749. .if \n(T. .vs
  2750. .if \n(#a>=0 .sp -1
  2751. .if \n(#a>=0 \h'|0'\s\n(33\h'-\n(#~u'\L'|\n(#au-1v'\s0\v'\n(\*(#du-\n(#au+1v'\h'|\n(TWu'
  2752. .if \n(#a>=0 .sp -1
  2753. .if \n(#a>=0 \h'(|\n(41u+|\n(52u)/2u'\s\n(33\h'-\n(#~u'\L'|\n(#au-1v'\s0\v'\n(\*(#du-\n(#au+1v'\h'|\n(TWu'
  2754. .if \n(#a>=0 .sp -1
  2755. .if \n(#a>=0 \h'(|\n(42u+|\n(53u)/2u'\s\n(33\h'-\n(#~u'\L'|\n(#au-1v'\s0\v'\n(\*(#du-\n(#au+1v'\h'|\n(TWu'
  2756. .if \n(#a>=0 .sp -1
  2757. .if \n(#a>=0 \h'(|\n(43u+|\n(54u)/2u'\s\n(33\h'-\n(#~u'\L'|\n(#au-1v'\s0\v'\n(\*(#du-\n(#au+1v'\h'|\n(TWu'
  2758. .if \n(#a>=0 .sp -1
  2759. .if \n(#a>=0 \h'(|\n(44u+|\n(55u)/2u'\s\n(33\h'-\n(#~u'\L'|\n(#au-1v'\s0\v'\n(\*(#du-\n(#au+1v'\h'|\n(TWu'
  2760. .if \n(#a>=0 .sp -1
  2761. .if \n(#a>=0 \h'|\n(TWu'\s\n(33\h'-\n(#~u'\L'|\n(#au-1v'\s0\v'\n(\*(#du-\n(#au+1v'
  2762. .ls
  2763. ..
  2764. .ec
  2765. .nr 36 \n(.v
  2766. .vs \n(.vu-\n(.sp
  2767. \h'|0'\s\n(33\l'|\n(TWu\(ul'\s0
  2768. .vs \n(36u
  2769. .mk #a
  2770. .ta \n(52u \n(53u \n(54u \n(55u \n(56u 
  2771. .nr 35 1m
  2772. .nr 31 \n(.f
  2773. \&\h'|\n(40u' \h'|\n(41u' \h'|\n(42u' \h'|\n(43u' \h'|\n(44u' 
  2774. .ta \n(52u \n(53u \n(54u \n(55u \n(56u 
  2775. .nr 35 1m
  2776. .nr 31 \n(.f
  2777. \&\h'|\n(40u''C'\h'|\n(41u''L'\h'|\n(42u'12\h'|\n(43u'1\h'|\n(44u'LOC of CHILD DIRECTORY
  2778. .ta \n(52u \n(53u \n(54u \n(55u \n(56u 
  2779. .nr 35 1m
  2780. .nr 31 \n(.f
  2781. \&\h'|\n(40u'(BP1)\h'|\n(41u'(BP2)\h'|\n(42u'(BP3)\h'|\n(43u'(BP4)\h'|\n(44u'(BP5 to BP12)
  2782. .ta \n(52u \n(53u \n(54u \n(55u \n(56u 
  2783. .nr 35 1m
  2784. .nr 31 \n(.f
  2785. \&\h'|\n(40u' \h'|\n(41u' \h'|\n(42u' \h'|\n(43u' \h'|\n(44u' 
  2786. .fc
  2787. .nr T. 1
  2788. .T# 1
  2789. .in \n(#Iu
  2790. .35
  2791. .nr #a 0
  2792. .TE
  2793. .if \n-(b.=0 .nr c. \n(.c-\n(d.-7
  2794. .sp
  2795. .sp
  2796. .bp
  2797. .sp
  2798. .H 4 "Description of the PL System Use Field"
  2799. .sp
  2800. The purpose of the "PL" System Use Field is to record the
  2801. location of the original parent Directory of a Directory which has
  2802. been relocated.
  2803. The field contains the Logical Block number of the
  2804. Logical Sector in which the first directory record of the original
  2805. parent Directory of said moved Directory is stored.
  2806. .sp
  2807. For each moved Directory which is recorded using a "CL" System
  2808. Use Field, a corresponding "PL" System Use Field is required.
  2809. The "PL" System Use Field shall be recorded in the System Use Area of the
  2810. second directory record ("dot-dot" entry) of the moved Directory.
  2811. No more than one "PL" System Use Field shall appear in (all) the System
  2812. Use Area(s) for a single directory record.
  2813. .sp
  2814. The format of the "PL" System Use Field is as follows:
  2815. .sp
  2816. .VL 10 5
  2817. .LI "[1]"
  2818. "BP 1 to BP 2 - Signature Word" shall indicate that the System Use Field
  2819. is a "PL" type System Use Field.
  2820. The bytes in this field shall be (50)(4C) ("PL").
  2821. .LI "[2]"
  2822. "BP 3 - Length" shall specify as an 8-bit number the length in
  2823. bytes of the "PL" System Use Field.
  2824. The number in this field shall be 12 for this version.
  2825. This field shall be recorded according to ISO 9660:1988 Format 
  2826. section 7.1.1.
  2827. .LI "[3]"
  2828. "BP 4 - System Use Field Version" shall specify as an 8-bit number an
  2829. identification of the version of the "PL" System Use Field.
  2830. The number in this field shall be 1 for this version.
  2831. This field shall be recorded according to ISO 9660:1988 Format
  2832. section 7.1.1.
  2833. .LI "[4]"
  2834. "BP 5 to BP 12 - Location of Parent Directory" shall specify as a
  2835. 32-bit number the Logical Block Number of the first Logical Block
  2836. allocated to the original parent directory of the moved directory.
  2837. This field shall be recorded according to ISO 9660:1988 Format section 7.3.3.
  2838. .LE
  2839. .sp
  2840. .sp
  2841. .TB "PL System Use Field - Version 1"
  2842. .TS
  2843. .if \n+(b.=1 .nr d. \n(.c-\n(c.-1
  2844. .de 35
  2845. .ps \n(.s
  2846. .vs \n(.vu
  2847. .in \n(.iu
  2848. .if \n(.u .fi
  2849. .if \n(.j .ad
  2850. .if \n(.j=0 .na
  2851. ..
  2852. .nf
  2853. .nr #~ 0
  2854. .if \n(.T .if n .nr #~ 0.6n
  2855. .ds #d .d
  2856. .if \(ts\n(.z\(ts\(ts .ds #d nl
  2857. .fc
  2858. .nr 33 \n(.s
  2859. .rm 52 53 54 55 56
  2860. .nr 52 0
  2861. .nr 38 \w 
  2862. .if \n(52<\n(38 .nr 52 \n(38
  2863. .nr 38 \w'P'
  2864. .if \n(52<\n(38 .nr 52 \n(38
  2865. .nr 38 \w(BP1)
  2866. .if \n(52<\n(38 .nr 52 \n(38
  2867. .nr 38 \w 
  2868. .if \n(52<\n(38 .nr 52 \n(38
  2869. .52
  2870. .rm 52
  2871. .nr 53 0
  2872. .nr 38 \w 
  2873. .if \n(53<\n(38 .nr 53 \n(38
  2874. .nr 38 \w'L'
  2875. .if \n(53<\n(38 .nr 53 \n(38
  2876. .nr 38 \w(BP2)
  2877. .if \n(53<\n(38 .nr 53 \n(38
  2878. .nr 38 \w 
  2879. .if \n(53<\n(38 .nr 53 \n(38
  2880. .53
  2881. .rm 53
  2882. .nr 54 0
  2883. .nr 38 \w 
  2884. .if \n(54<\n(38 .nr 54 \n(38
  2885. .nr 38 \w12
  2886. .if \n(54<\n(38 .nr 54 \n(38
  2887. .nr 38 \w(BP3)
  2888. .if \n(54<\n(38 .nr 54 \n(38
  2889. .nr 38 \w 
  2890. .if \n(54<\n(38 .nr 54 \n(38
  2891. .54
  2892. .rm 54
  2893. .nr 55 0
  2894. .nr 38 \w 
  2895. .if \n(55<\n(38 .nr 55 \n(38
  2896. .nr 38 \w1
  2897. .if \n(55<\n(38 .nr 55 \n(38
  2898. .nr 38 \w(BP4)
  2899. .if \n(55<\n(38 .nr 55 \n(38
  2900. .nr 38 \w 
  2901. .if \n(55<\n(38 .nr 55 \n(38
  2902. .55
  2903. .rm 55
  2904. .nr 56 0
  2905. .nr 38 \w 
  2906. .if \n(56<\n(38 .nr 56 \n(38
  2907. .nr 38 \wLOC of PARENT DIRECTORY
  2908. .if \n(56<\n(38 .nr 56 \n(38
  2909. .nr 38 \w(BP5 to BP12)
  2910. .if \n(56<\n(38 .nr 56 \n(38
  2911. .nr 38 \w 
  2912. .if \n(56<\n(38 .nr 56 \n(38
  2913. .56
  2914. .rm 56
  2915. .nr 38 1n
  2916. .nr 51 0
  2917. .nr 40 \n(51+((2*\n(38)/2)
  2918. .nr 52 +\n(40
  2919. .nr 41 \n(52+((6*\n(38)/2)
  2920. .nr 53 +\n(41
  2921. .nr 42 \n(53+((6*\n(38)/2)
  2922. .nr 54 +\n(42
  2923. .nr 43 \n(54+((6*\n(38)/2)
  2924. .nr 55 +\n(43
  2925. .nr 44 \n(55+((6*\n(38)/2)
  2926. .nr 56 +\n(44
  2927. .nr TW \n(56
  2928. .nr TW +((2*\n(38)/2)
  2929. .if t .if (\n(TW+\n(.o)>7.65i .tm Table at line 868 file Input is too wide - \n(TW units
  2930. .ne 4v+0p
  2931. .nr #I \n(.i
  2932. .in +(\n(.lu-\n(TWu-\n(.iu)/2u
  2933. .fc  
  2934. .nr #T 0-1
  2935. .nr #a 0-1
  2936. .nr #a 0-1
  2937. .eo
  2938. .de T#
  2939. .nr 35 1m
  2940. .ds #d .d
  2941. .if \(ts\n(.z\(ts\(ts .ds #d nl
  2942. .mk ##
  2943. .nr ## -1v
  2944. .ls 1
  2945. .if \n(#T>=0 .nr #a \n(#T
  2946. .if \n(T. .vs \n(.vu-\n(.sp
  2947. .if \n(T. \h'|0'\s\n(33\l'|\n(TWu\(ul'\s0
  2948. .if \n(T. .vs
  2949. .if \n(#a>=0 .sp -1
  2950. .if \n(#a>=0 \h'|0'\s\n(33\h'-\n(#~u'\L'|\n(#au-1v'\s0\v'\n(\*(#du-\n(#au+1v'\h'|\n(TWu'
  2951. .if \n(#a>=0 .sp -1
  2952. .if \n(#a>=0 \h'(|\n(41u+|\n(52u)/2u'\s\n(33\h'-\n(#~u'\L'|\n(#au-1v'\s0\v'\n(\*(#du-\n(#au+1v'\h'|\n(TWu'
  2953. .if \n(#a>=0 .sp -1
  2954. .if \n(#a>=0 \h'(|\n(42u+|\n(53u)/2u'\s\n(33\h'-\n(#~u'\L'|\n(#au-1v'\s0\v'\n(\*(#du-\n(#au+1v'\h'|\n(TWu'
  2955. .if \n(#a>=0 .sp -1
  2956. .if \n(#a>=0 \h'(|\n(43u+|\n(54u)/2u'\s\n(33\h'-\n(#~u'\L'|\n(#au-1v'\s0\v'\n(\*(#du-\n(#au+1v'\h'|\n(TWu'
  2957. .if \n(#a>=0 .sp -1
  2958. .if \n(#a>=0 \h'(|\n(44u+|\n(55u)/2u'\s\n(33\h'-\n(#~u'\L'|\n(#au-1v'\s0\v'\n(\*(#du-\n(#au+1v'\h'|\n(TWu'
  2959. .if \n(#a>=0 .sp -1
  2960. .if \n(#a>=0 \h'|\n(TWu'\s\n(33\h'-\n(#~u'\L'|\n(#au-1v'\s0\v'\n(\*(#du-\n(#au+1v'
  2961. .ls
  2962. ..
  2963. .ec
  2964. .nr 36 \n(.v
  2965. .vs \n(.vu-\n(.sp
  2966. \h'|0'\s\n(33\l'|\n(TWu\(ul'\s0
  2967. .vs \n(36u
  2968. .mk #a
  2969. .ta \n(52u \n(53u \n(54u \n(55u \n(56u 
  2970. .nr 35 1m
  2971. .nr 31 \n(.f
  2972. \&\h'|\n(40u' \h'|\n(41u' \h'|\n(42u' \h'|\n(43u' \h'|\n(44u' 
  2973. .ta \n(52u \n(53u \n(54u \n(55u \n(56u 
  2974. .nr 35 1m
  2975. .nr 31 \n(.f
  2976. \&\h'|\n(40u''P'\h'|\n(41u''L'\h'|\n(42u'12\h'|\n(43u'1\h'|\n(44u'LOC of PARENT DIRECTORY
  2977. .ta \n(52u \n(53u \n(54u \n(55u \n(56u 
  2978. .nr 35 1m
  2979. .nr 31 \n(.f
  2980. \&\h'|\n(40u'(BP1)\h'|\n(41u'(BP2)\h'|\n(42u'(BP3)\h'|\n(43u'(BP4)\h'|\n(44u'(BP5 to BP12)
  2981. .ta \n(52u \n(53u \n(54u \n(55u \n(56u 
  2982. .nr 35 1m
  2983. .nr 31 \n(.f
  2984. \&\h'|\n(40u' \h'|\n(41u' \h'|\n(42u' \h'|\n(43u' \h'|\n(44u' 
  2985. .fc
  2986. .nr T. 1
  2987. .T# 1
  2988. .in \n(#Iu
  2989. .35
  2990. .nr #a 0
  2991. .TE
  2992. .if \n-(b.=0 .nr c. \n(.c-\n(d.-7
  2993. .sp
  2994. .sp
  2995. .bp
  2996. .sp
  2997. .H 4 "Description of the RE System Use Field"
  2998. .sp
  2999. The purpose of the "RE" System Use Field is to indicate to a
  3000. receiving system which can understand the System Use Fields "CL" and
  3001. "PL" that the directory record in which this "RE" System Use Field is
  3002. recorded has been relocated from another position in the original
  3003. directory tree.
  3004. .sp
  3005. An "RE" System Use Field shall not be recorded unless a corresponding 
  3006. "CL" System Use Field is recorded.
  3007. If recorded, a "RE" System Use Field shall be recorded in
  3008. the System Use Area of the directory record which describes the moved
  3009. Directory in the new parent directory of the moved Directory.
  3010. .sp
  3011. The format of the "RE" System Use Field is as follows:
  3012. .sp
  3013. .VL 10 5
  3014. .LI "[1]"
  3015. "BP 1 to BP 2 - Signature Word" shall indicate that the System Use Field
  3016. is a "RE" type System Use Field.
  3017. The bytes in this field shall be (52)(45) ("RE").
  3018. .LI "[2]"
  3019. "BP 3 - Length" shall specify as an 8-bit number the length in
  3020. bytes of the "RE" System Use Field.
  3021. The number in this field shall be 4 for this version.
  3022. This field shall be recorded according to ISO 9660:1988 Format 
  3023. section 7.1.1.
  3024. .LI "[3]"
  3025. "BP 4 - System Use Field Version" shall specify as an 8-bit number an
  3026. identification of the version of the "RE" System Use Field.
  3027. The number in this field shall be 1 for this version.
  3028. This field shall be recorded according to ISO 9660:1988 Format
  3029. section 7.1.1.
  3030. .LE
  3031. .sp
  3032. .sp
  3033. .TB "RE System Use Field - Version 1"
  3034. .TS
  3035. .if \n+(b.=1 .nr d. \n(.c-\n(c.-1
  3036. .de 35
  3037. .ps \n(.s
  3038. .vs \n(.vu
  3039. .in \n(.iu
  3040. .if \n(.u .fi
  3041. .if \n(.j .ad
  3042. .if \n(.j=0 .na
  3043. ..
  3044. .nf
  3045. .nr #~ 0
  3046. .if \n(.T .if n .nr #~ 0.6n
  3047. .ds #d .d
  3048. .if \(ts\n(.z\(ts\(ts .ds #d nl
  3049. .fc
  3050. .nr 33 \n(.s
  3051. .rm 50 51 52 53
  3052. .nr 50 0
  3053. .nr 38 \w 
  3054. .if \n(50<\n(38 .nr 50 \n(38
  3055. .nr 38 \w'R'
  3056. .if \n(50<\n(38 .nr 50 \n(38
  3057. .nr 38 \w(BP1)
  3058. .if \n(50<\n(38 .nr 50 \n(38
  3059. .nr 38 \w 
  3060. .if \n(50<\n(38 .nr 50 \n(38
  3061. .50
  3062. .rm 50
  3063. .nr 51 0
  3064. .nr 38 \w 
  3065. .if \n(51<\n(38 .nr 51 \n(38
  3066. .nr 38 \w'E'
  3067. .if \n(51<\n(38 .nr 51 \n(38
  3068. .nr 38 \w(BP2)
  3069. .if \n(51<\n(38 .nr 51 \n(38
  3070. .nr 38 \w 
  3071. .if \n(51<\n(38 .nr 51 \n(38
  3072. .51
  3073. .rm 51
  3074. .nr 52 0
  3075. .nr 38 \w 
  3076. .if \n(52<\n(38 .nr 52 \n(38
  3077. .nr 38 \w4
  3078. .if \n(52<\n(38 .nr 52 \n(38
  3079. .nr 38 \w(BP3)
  3080. .if \n(52<\n(38 .nr 52 \n(38
  3081. .nr 38 \w 
  3082. .if \n(52<\n(38 .nr 52 \n(38
  3083. .52
  3084. .rm 52
  3085. .nr 53 0
  3086. .nr 38 \w 
  3087. .if \n(53<\n(38 .nr 53 \n(38
  3088. .nr 38 \w1
  3089. .if \n(53<\n(38 .nr 53 \n(38
  3090. .nr 38 \w(BP4)
  3091. .if \n(53<\n(38 .nr 53 \n(38
  3092. .nr 38 \w 
  3093. .if \n(53<\n(38 .nr 53 \n(38
  3094. .53
  3095. .rm 53
  3096. .nr 38 1n
  3097. .nr 49 0
  3098. .nr 40 \n(49+((2*\n(38)/2)
  3099. .nr 50 +\n(40
  3100. .nr 41 \n(50+((6*\n(38)/2)
  3101. .nr 51 +\n(41
  3102. .nr 42 \n(51+((6*\n(38)/2)
  3103. .nr 52 +\n(42
  3104. .nr 43 \n(52+((6*\n(38)/2)
  3105. .nr 53 +\n(43
  3106. .nr TW \n(53
  3107. .nr TW +((2*\n(38)/2)
  3108. .if t .if (\n(TW+\n(.o)>7.65i .tm Table at line 917 file Input is too wide - \n(TW units
  3109. .ne 4v+0p
  3110. .nr #I \n(.i
  3111. .in +(\n(.lu-\n(TWu-\n(.iu)/2u
  3112. .fc  
  3113. .nr #T 0-1
  3114. .nr #a 0-1
  3115. .nr #a 0-1
  3116. .eo
  3117. .de T#
  3118. .nr 35 1m
  3119. .ds #d .d
  3120. .if \(ts\n(.z\(ts\(ts .ds #d nl
  3121. .mk ##
  3122. .nr ## -1v
  3123. .ls 1
  3124. .if \n(#T>=0 .nr #a \n(#T
  3125. .if \n(T. .vs \n(.vu-\n(.sp
  3126. .if \n(T. \h'|0'\s\n(33\l'|\n(TWu\(ul'\s0
  3127. .if \n(T. .vs
  3128. .if \n(#a>=0 .sp -1
  3129. .if \n(#a>=0 \h'|0'\s\n(33\h'-\n(#~u'\L'|\n(#au-1v'\s0\v'\n(\*(#du-\n(#au+1v'\h'|\n(TWu'
  3130. .if \n(#a>=0 .sp -1
  3131. .if \n(#a>=0 \h'(|\n(41u+|\n(50u)/2u'\s\n(33\h'-\n(#~u'\L'|\n(#au-1v'\s0\v'\n(\*(#du-\n(#au+1v'\h'|\n(TWu'
  3132. .if \n(#a>=0 .sp -1
  3133. .if \n(#a>=0 \h'(|\n(42u+|\n(51u)/2u'\s\n(33\h'-\n(#~u'\L'|\n(#au-1v'\s0\v'\n(\*(#du-\n(#au+1v'\h'|\n(TWu'
  3134. .if \n(#a>=0 .sp -1
  3135. .if \n(#a>=0 \h'(|\n(43u+|\n(52u)/2u'\s\n(33\h'-\n(#~u'\L'|\n(#au-1v'\s0\v'\n(\*(#du-\n(#au+1v'\h'|\n(TWu'
  3136. .if \n(#a>=0 .sp -1
  3137. .if \n(#a>=0 \h'|\n(TWu'\s\n(33\h'-\n(#~u'\L'|\n(#au-1v'\s0\v'\n(\*(#du-\n(#au+1v'
  3138. .ls
  3139. ..
  3140. .ec
  3141. .nr 36 \n(.v
  3142. .vs \n(.vu-\n(.sp
  3143. \h'|0'\s\n(33\l'|\n(TWu\(ul'\s0
  3144. .vs \n(36u
  3145. .mk #a
  3146. .ta \n(50u \n(51u \n(52u \n(53u 
  3147. .nr 35 1m
  3148. .nr 31 \n(.f
  3149. \&\h'|\n(40u' \h'|\n(41u' \h'|\n(42u' \h'|\n(43u' 
  3150. .ta \n(50u \n(51u \n(52u \n(53u 
  3151. .nr 35 1m
  3152. .nr 31 \n(.f
  3153. \&\h'|\n(40u''R'\h'|\n(41u''E'\h'|\n(42u'4\h'|\n(43u'1
  3154. .ta \n(50u \n(51u \n(52u \n(53u 
  3155. .nr 35 1m
  3156. .nr 31 \n(.f
  3157. \&\h'|\n(40u'(BP1)\h'|\n(41u'(BP2)\h'|\n(42u'(BP3)\h'|\n(43u'(BP4)
  3158. .ta \n(50u \n(51u \n(52u \n(53u 
  3159. .nr 35 1m
  3160. .nr 31 \n(.f
  3161. \&\h'|\n(40u' \h'|\n(41u' \h'|\n(42u' \h'|\n(43u' 
  3162. .fc
  3163. .nr T. 1
  3164. .T# 1
  3165. .in \n(#Iu
  3166. .35
  3167. .nr #a 0
  3168. .TE
  3169. .if \n-(b.=0 .nr c. \n(.c-\n(d.-7
  3170. .sp
  3171. .sp
  3172. .bp
  3173. .sp
  3174. .TB "Deep Directory Relocation"
  3175. .sp
  3176. .sp
  3177. ... -3.5 -7.25 1.75 0.25
  3178. ... 0.000i 7.500i 5.250i 0.000i
  3179. .nr 00 \n(.u
  3180. .nf
  3181. .PS 7.500i 5.250i 
  3182. .br
  3183. .ft 3
  3184. \h'3.875i'\v'0.250i'\h'-0.0m'\v'0.2m'\h'-\w'1'u/2u'1\h'-\w'1'u/2u'
  3185. .sp -1
  3186. \h'3.500i'\v'0.500i'\D'l0.000i -0.500i'
  3187. .sp -1
  3188. \h'3.500i'\D'l0.750i 0.000i'
  3189. .sp -1
  3190. \h'4.250i'\D'l0.000i 0.500i'
  3191. .sp -1
  3192. \h'4.250i'\v'0.500i'\D'l-0.750i 0.000i'
  3193. .sp -1
  3194. \h'4.500i'\v'0.250i'\h'-0.0m'\v'0.2m'\h'-\w'(root)'u/2u'(root)\h'-\w'(root)'u/2u'
  3195. .sp -1
  3196. \h'1.375i'\v'1.250i'\h'-0.0m'\v'0.2m'\h'-\w'2a'u/2u'2a\h'-\w'2a'u/2u'
  3197. .sp -1
  3198. \h'1.000i'\v'1.500i'\D'l0.000i -0.500i'
  3199. .sp -1
  3200. \h'1.000i'\v'1.000i'\D'l0.750i 0.000i'
  3201. .sp -1
  3202. \h'1.750i'\v'1.000i'\D'l0.000i 0.500i'
  3203. .sp -1
  3204. \h'1.750i'\v'1.500i'\D'l-0.750i 0.000i'
  3205. .sp -1
  3206. \h'2.375i'\v'1.250i'\h'-0.0m'\v'0.2m'\h'-\w'2b'u/2u'2b\h'-\w'2b'u/2u'
  3207. .sp -1
  3208. \h'2.000i'\v'1.500i'\D'l0.000i -0.500i'
  3209. .sp -1
  3210. \h'2.000i'\v'1.000i'\D'l0.750i 0.000i'
  3211. .sp -1
  3212. \h'2.750i'\v'1.000i'\D'l0.000i 0.500i'
  3213. .sp -1
  3214. \h'2.750i'\v'1.500i'\D'l-0.750i 0.000i'
  3215. .sp -1
  3216. \h'3.375i'\v'1.250i'\h'-0.0m'\v'0.2m'\h'-\w'2c'u/2u'2c\h'-\w'2c'u/2u'
  3217. .sp -1
  3218. \h'3.000i'\v'1.500i'\D'l0.000i -0.500i'
  3219. .sp -1
  3220. \h'3.000i'\v'1.000i'\D'l0.750i 0.000i'
  3221. .sp -1
  3222. \h'3.750i'\v'1.000i'\D'l0.000i 0.500i'
  3223. .sp -1
  3224. \h'3.750i'\v'1.500i'\D'l-0.750i 0.000i'
  3225. .sp -1
  3226. \h'3.875i'\v'0.500i'\D'l-2.500i 0.500i'
  3227. .sp -1
  3228. \h'3.875i'\v'0.500i'\D'l-1.500i 0.500i'
  3229. .sp -1
  3230. \h'3.875i'\v'0.500i'\D'l-0.500i 0.500i'
  3231. .sp -1
  3232. \h'2.875i'\v'2.250i'\h'-0.0m'\v'0.2m'\h'-\w'3'u/2u'3\h'-\w'3'u/2u'
  3233. .sp -1
  3234. \h'2.500i'\v'2.500i'\D'l0.000i -0.500i'
  3235. .sp -1
  3236. \h'2.500i'\v'2.000i'\D'l0.750i 0.000i'
  3237. .sp -1
  3238. \h'3.250i'\v'2.000i'\D'l0.000i 0.500i'
  3239. .sp -1
  3240. \h'3.250i'\v'2.500i'\D'l-0.750i 0.000i'
  3241. .sp -1
  3242. \h'3.375i'\v'1.500i'\D'l-0.500i 0.500i'
  3243. .sp -1
  3244. \h'2.375i'\v'3.250i'\h'-0.0m'\v'0.2m'\h'-\w'4'u/2u'4\h'-\w'4'u/2u'
  3245. .sp -1
  3246. \h'2.000i'\v'3.500i'\D'l0.000i -0.500i'
  3247. .sp -1
  3248. \h'2.000i'\v'3.000i'\D'l0.750i 0.000i'
  3249. .sp -1
  3250. \h'2.750i'\v'3.000i'\D'l0.000i 0.500i'
  3251. .sp -1
  3252. \h'2.750i'\v'3.500i'\D'l-0.750i 0.000i'
  3253. .sp -1
  3254. \h'4.375i'\v'3.250i'\h'-0.0m'\v'0.2m'\h'-\w'8'u/2u'8\h'-\w'8'u/2u'
  3255. .sp -1
  3256. \h'4.000i'\v'3.500i'\D'l0.000i -0.500i'
  3257. .sp -1
  3258. \h'4.000i'\v'3.000i'\D'l0.750i 0.000i'
  3259. .sp -1
  3260. \h'4.750i'\v'3.000i'\D'l0.000i 0.500i'
  3261. .sp -1
  3262. \h'4.750i'\v'3.500i'\D'l-0.750i 0.000i'
  3263. .sp -1
  3264. \h'5.000i'\v'3.250i'\h'-0.0m'\v'0.2m'\h'-\w'"RE"'u/2u'"RE"\h'-\w'"RE"'u/2u'
  3265. .sp -1
  3266. \h'2.875i'\v'2.500i'\D'l-0.500i 0.500i'
  3267. .sp -1
  3268. \h'2.875i'\v'2.500i'\D'l1.500i 0.500i'
  3269. .sp -1
  3270. \h'4.375i'\v'3.500i'\D'l-0.500i 0.400i'
  3271. .sp -1
  3272. \h'4.375i'\v'3.500i'\D'l0.500i 0.400i'
  3273. .sp -1
  3274. \h'1.875i'\v'4.250i'\h'-0.0m'\v'0.2m'\h'-\w'5'u/2u'5\h'-\w'5'u/2u'
  3275. .sp -1
  3276. \h'1.500i'\v'4.500i'\D'l0.000i -0.500i'
  3277. .sp -1
  3278. \h'1.500i'\v'4.000i'\D'l0.750i 0.000i'
  3279. .sp -1
  3280. \h'2.250i'\v'4.000i'\D'l0.000i 0.500i'
  3281. .sp -1
  3282. \h'2.250i'\v'4.500i'\D'l-0.750i 0.000i'
  3283. .sp -1
  3284. \h'2.375i'\v'3.500i'\D'l-0.500i 0.500i'
  3285. .sp -1
  3286. \h'1.375i'\v'5.250i'\h'-0.0m'\v'0.2m'\h'-\w'6'u/2u'6\h'-\w'6'u/2u'
  3287. .sp -1
  3288. \h'1.000i'\v'5.500i'\D'l0.000i -0.500i'
  3289. .sp -1
  3290. \h'1.000i'\v'5.000i'\D'l0.750i 0.000i'
  3291. .sp -1
  3292. \h'1.750i'\v'5.000i'\D'l0.000i 0.500i'
  3293. .sp -1
  3294. \h'1.750i'\v'5.500i'\D'l-0.750i 0.000i'
  3295. .sp -1
  3296. \h'1.875i'\v'4.500i'\D'l-0.500i 0.500i'
  3297. .sp -1
  3298. \h'0.875i'\v'6.250i'\h'-0.0m'\v'0.2m'\h'-\w'7'u/2u'7\h'-\w'7'u/2u'
  3299. .sp -1
  3300. \h'0.500i'\v'6.500i'\D'l0.000i -0.500i'
  3301. .sp -1
  3302. \h'0.500i'\v'6.000i'\D'l0.750i 0.000i'
  3303. .sp -1
  3304. \h'1.250i'\v'6.000i'\D'l0.000i 0.500i'
  3305. .sp -1
  3306. \h'1.250i'\v'6.500i'\D'l-0.750i 0.000i'
  3307. .sp -1
  3308. \h'1.375i'\v'5.500i'\D'l-0.500i 0.500i'
  3309. .sp -1
  3310. \h'0.375i'\v'7.250i'\h'-0.0m'\v'0.2m'\h'-\w'file'u/2u'file\h'-\w'file'u/2u'
  3311. .sp -1
  3312. \v'7.250i'\D'e0.750i 0.500i'
  3313. .sp -1
  3314. \h'0.875i'\v'6.500i'\D'l-0.500i 0.500i'
  3315. .sp -1
  3316. \h'0.775i'\v'7.250i'\D'a-0.162i -3.997i 3.962i 0.547i'
  3317. .sp -1
  3318. \h'4.586i'\v'3.902i'\D'l-0.011i -0.102i'
  3319. .sp -1
  3320. \h'4.537i'\v'3.896i'\D'l0.038i -0.096i'
  3321. .sp -1
  3322. \h'1.375i'\v'6.223i'\D'l-0.100i 0.027i'
  3323. .sp -1
  3324. \h'1.375i'\v'6.273i'\D'l-0.100i -0.023i'
  3325. .sp -1
  3326. \h'1.275i'\v'6.250i'\D'a-0.049i -3.000i 2.949i 0.550i'
  3327. .sp -1
  3328. \h'3.225i'\v'5.250i'\h'-0.0m'\v'0.2m'\h'-\w'"PL"'u/2u'"PL"\h'-\w'"PL"'u/2u'
  3329. .sp -1
  3330. \h'4.425i'\v'5.250i'\h'-0.0m'\v'0.2m'\h'-\w'"CL"'u/2u'"CL"\h'-\w'"CL"'u/2u'
  3331. .sp -1
  3332. .ft 1
  3333. .sp 1+7.500i
  3334. .PE
  3335. .if \n(00 .fi
  3336. .bp
  3337. .TB "Detailed Deep Directory Relocation"
  3338. .sp
  3339. .sp
  3340. ... 0 -5.2914 5.25 0.1
  3341. ... 0.000i 5.391i 5.250i 0.000i
  3342. .nr 00 \n(.u
  3343. .nf
  3344. .PS 5.391i 5.250i 
  3345. .br
  3346. .ft 3
  3347. \h'1.000i'\v'0.100i'\h'-0.0m'\v'0.2m'   directory foo/ 
  3348. .sp -1
  3349. \h'1.000i'\v'0.400i'\D'l0.000i -0.200i'
  3350. .sp -1
  3351. \h'1.000i'\v'0.200i'\D'l1.500i 0.000i'
  3352. .sp -1
  3353. \h'2.500i'\v'0.200i'\D'l0.000i 0.200i'
  3354. .sp -1
  3355. \h'2.500i'\v'0.400i'\D'l-1.500i 0.000i'
  3356. .sp -1
  3357. \h'1.000i'\v'0.300i'\h'-0.0m'\v'0.2m'   "dot"
  3358. .sp -1
  3359. \h'2.500i'\v'0.400i'\D'l0.000i -0.200i'
  3360. .sp -1
  3361. \h'2.500i'\v'0.200i'\D'l0.750i 0.000i'
  3362. .sp -1
  3363. \h'3.250i'\v'0.200i'\D'l0.000i 0.200i'
  3364. .sp -1
  3365. \h'3.250i'\v'0.400i'\D'l-0.750i 0.000i'
  3366. .sp -1
  3367. \h'2.500i'\v'0.300i'\h'-0.0m'\v'0.2m'   rrip...
  3368. .sp -1
  3369. \h'1.000i'\v'0.600i'\D'l0.000i -0.200i'
  3370. .sp -1
  3371. \h'1.000i'\v'0.400i'\D'l1.500i 0.000i'
  3372. .sp -1
  3373. \h'2.500i'\v'0.400i'\D'l0.000i 0.200i'
  3374. .sp -1
  3375. \h'2.500i'\v'0.600i'\D'l-1.500i 0.000i'
  3376. .sp -1
  3377. \h'1.000i'\v'0.500i'\h'-0.0m'\v'0.2m'   "dotdot"
  3378. .sp -1
  3379. \h'2.500i'\v'0.600i'\D'l0.000i -0.200i'
  3380. .sp -1
  3381. \h'2.500i'\v'0.400i'\D'l0.750i 0.000i'
  3382. .sp -1
  3383. \h'3.250i'\v'0.400i'\D'l0.000i 0.200i'
  3384. .sp -1
  3385. \h'3.250i'\v'0.600i'\D'l-0.750i 0.000i'
  3386. .sp -1
  3387. \h'2.500i'\v'0.500i'\h'-0.0m'\v'0.2m'   rrip...
  3388. .sp -1
  3389. \h'1.000i'\v'0.800i'\D'l0.000i -0.200i'
  3390. .sp -1
  3391. \h'1.000i'\v'0.600i'\D'l1.500i 0.000i'
  3392. .sp -1
  3393. \h'2.500i'\v'0.600i'\D'l0.000i 0.200i'
  3394. .sp -1
  3395. \h'2.500i'\v'0.800i'\D'l-1.500i 0.000i'
  3396. .sp -1
  3397. \h'1.000i'\v'0.700i'\h'-0.0m'\v'0.2m'   bar
  3398. .sp -1
  3399. \h'2.500i'\v'0.800i'\D'l0.000i -0.200i'
  3400. .sp -1
  3401. \h'2.500i'\v'0.600i'\D'l0.750i 0.000i'
  3402. .sp -1
  3403. \h'3.250i'\v'0.600i'\D'l0.000i 0.200i'
  3404. .sp -1
  3405. \h'3.250i'\v'0.800i'\D'l-0.750i 0.000i'
  3406. .sp -1
  3407. \h'2.500i'\v'0.700i'\h'-0.0m'\v'0.2m'   rrip...
  3408. .sp -1
  3409. \h'1.000i'\v'1.000i'\D'l0.000i -0.200i'
  3410. .sp -1
  3411. \h'1.000i'\v'0.800i'\D'l1.500i 0.000i'
  3412. .sp -1
  3413. \h'2.500i'\v'0.800i'\D'l0.000i 0.200i'
  3414. .sp -1
  3415. \h'2.500i'\v'1.000i'\D'l-1.500i 0.000i'
  3416. .sp -1
  3417. \h'1.000i'\v'0.900i'\h'-0.0m'\v'0.2m'   hidden_baz
  3418. .sp -1
  3419. \h'2.500i'\v'1.000i'\D'l0.000i -0.200i'
  3420. .sp -1
  3421. \h'2.500i'\v'0.800i'\D'l0.750i 0.000i'
  3422. .sp -1
  3423. \h'3.250i'\v'0.800i'\D'l0.000i 0.200i'
  3424. .sp -1
  3425. \h'3.250i'\v'1.000i'\D'l-0.750i 0.000i'
  3426. .sp -1
  3427. \h'2.500i'\v'0.900i'\h'-0.0m'\v'0.2m'   RE
  3428. .sp -1
  3429. \h'1.000i'\v'1.200i'\D'l0.000i -0.200i'
  3430. .sp -1
  3431. \h'1.000i'\v'1.000i'\D'l1.500i 0.000i'
  3432. .sp -1
  3433. \h'2.500i'\v'1.000i'\D'l0.000i 0.200i'
  3434. .sp -1
  3435. \h'2.500i'\v'1.200i'\D'l-1.500i 0.000i'
  3436. .sp -1
  3437. \h'1.000i'\v'1.100i'\h'-0.0m'\v'0.2m'   lower
  3438. .sp -1
  3439. \h'2.500i'\v'1.200i'\D'l0.000i -0.200i'
  3440. .sp -1
  3441. \h'2.500i'\v'1.000i'\D'l0.750i 0.000i'
  3442. .sp -1
  3443. \h'3.250i'\v'1.000i'\D'l0.000i 0.200i'
  3444. .sp -1
  3445. \h'3.250i'\v'1.200i'\D'l-0.750i 0.000i'
  3446. .sp -1
  3447. \h'2.500i'\v'1.100i'\h'-0.0m'\v'0.2m'   rrip...
  3448. .sp -1
  3449. \h'4.500i'\v'1.500i'\h'-0.0m'\v'0.2m'   
  3450. .sp -1
  3451. \h'4.765i'\v'1.741i'\h'-0.0m'\v'0.2m'\h'-\w'File'u/2u'File\h'-\w'File'u/2u'
  3452. .sp -1
  3453. \h'4.390i'\v'1.741i'\D'e0.750i 0.400i'
  3454. .sp -1
  3455. \h'2.140i'\v'2.491i'\h'-0.0m'\v'0.2m'   directory lower/
  3456. .sp -1
  3457. \h'2.140i'\v'2.991i'\D'l0.000i -0.400i'
  3458. .sp -1
  3459. \h'2.140i'\v'2.591i'\D'l2.550i 0.000i'
  3460. .sp -1
  3461. \h'4.690i'\v'2.591i'\D'l0.000i 0.400i'
  3462. .sp -1
  3463. \h'4.690i'\v'2.991i'\D'l-2.550i 0.000i'
  3464. .sp -1
  3465. \h'2.140i'\v'2.791i'\h'-0.0m'\v'0.2m'          
  3466. .sp -1
  3467. \h'2.140i'\v'3.191i'\D'l0.000i -0.200i'
  3468. .sp -1
  3469. \h'2.140i'\v'2.991i'\D'l0.850i 0.000i'
  3470. .sp -1
  3471. \h'2.990i'\v'2.991i'\D'l0.000i 0.200i'
  3472. .sp -1
  3473. \h'2.990i'\v'3.191i'\D'l-0.850i 0.000i'
  3474. .sp -1
  3475. \h'2.140i'\v'3.091i'\h'-0.0m'\v'0.2m'   empty_baz
  3476. .sp -1
  3477. \h'2.990i'\v'3.191i'\D'l0.000i -0.200i'
  3478. .sp -1
  3479. \h'2.990i'\v'2.991i'\D'l0.850i 0.000i'
  3480. .sp -1
  3481. \h'3.840i'\v'2.991i'\D'l0.000i 0.200i'
  3482. .sp -1
  3483. \h'3.840i'\v'3.191i'\D'l-0.850i 0.000i'
  3484. .sp -1
  3485. \h'2.990i'\v'3.091i'\h'-0.0m'\v'0.2m'   NM "baz"
  3486. .sp -1
  3487. \h'3.840i'\v'3.191i'\D'l0.000i -0.200i'
  3488. .sp -1
  3489. \h'3.840i'\v'2.991i'\D'l0.850i 0.000i'
  3490. .sp -1
  3491. \h'4.690i'\v'2.991i'\D'l0.000i 0.200i'
  3492. .sp -1
  3493. \h'4.690i'\v'3.191i'\D'l-0.850i 0.000i'
  3494. .sp -1
  3495. \h'3.840i'\v'3.091i'\h'-0.0m'\v'0.2m'   CL
  3496. .sp -1
  3497. \h'3.215i'\v'3.841i'\h'-0.0m'\v'0.2m'\h'-\w' File'u/2u' File\h'-\w' File'u/2u'
  3498. .sp -1
  3499. \h'2.840i'\v'3.841i'\D'e0.750i 0.400i'
  3500. .sp -1
  3501. \h'1.840i'\v'4.691i'\h'-0.0m'\v'0.2m'  directory baz/ 
  3502. .sp -1
  3503. \h'1.840i'\v'4.991i'\D'l0.000i -0.200i'
  3504. .sp -1
  3505. \h'1.840i'\v'4.791i'\D'l1.000i 0.000i'
  3506. .sp -1
  3507. \h'2.840i'\v'4.791i'\D'l0.000i 0.200i'
  3508. .sp -1
  3509. \h'2.840i'\v'4.991i'\D'l-1.000i 0.000i'
  3510. .sp -1
  3511. \h'1.840i'\v'4.891i'\h'-0.0m'\v'0.2m'  "dot"
  3512. .sp -1
  3513. \h'2.840i'\v'4.991i'\D'l0.000i -0.200i'
  3514. .sp -1
  3515. \h'2.840i'\v'4.791i'\D'l1.000i 0.000i'
  3516. .sp -1
  3517. \h'3.840i'\v'4.791i'\D'l0.000i 0.200i'
  3518. .sp -1
  3519. \h'3.840i'\v'4.991i'\D'l-1.000i 0.000i'
  3520. .sp -1
  3521. \h'2.840i'\v'4.891i'\h'-0.0m'\v'0.2m'  rrip...
  3522. .sp -1
  3523. \h'1.840i'\v'5.191i'\D'l0.000i -0.200i'
  3524. .sp -1
  3525. \h'1.840i'\v'4.991i'\D'l1.000i 0.000i'
  3526. .sp -1
  3527. \h'2.840i'\v'4.991i'\D'l0.000i 0.200i'
  3528. .sp -1
  3529. \h'2.840i'\v'5.191i'\D'l-1.000i 0.000i'
  3530. .sp -1
  3531. \h'1.840i'\v'5.091i'\h'-0.0m'\v'0.2m'  "dotdot"
  3532. .sp -1
  3533. \h'2.840i'\v'5.191i'\D'l0.000i -0.200i'
  3534. .sp -1
  3535. \h'2.840i'\v'4.991i'\D'l1.000i 0.000i'
  3536. .sp -1
  3537. \h'3.840i'\v'4.991i'\D'l0.000i 0.200i'
  3538. .sp -1
  3539. \h'3.840i'\v'5.191i'\D'l-1.000i 0.000i'
  3540. .sp -1
  3541. \h'2.840i'\v'5.091i'\h'-0.0m'\v'0.2m'  PL
  3542. .sp -1
  3543. \h'1.840i'\v'5.391i'\D'l0.000i -0.200i'
  3544. .sp -1
  3545. \h'1.840i'\v'5.191i'\D'l1.000i 0.000i'
  3546. .sp -1
  3547. \h'2.840i'\v'5.191i'\D'l0.000i 0.200i'
  3548. .sp -1
  3549. \h'2.840i'\v'5.391i'\D'l-1.000i 0.000i'
  3550. .sp -1
  3551. \h'1.840i'\v'5.291i'\h'-0.0m'\v'0.2m'  
  3552. .sp -1
  3553. \h'2.840i'\v'5.391i'\D'l0.000i -0.200i'
  3554. .sp -1
  3555. \h'2.840i'\v'5.191i'\D'l1.000i 0.000i'
  3556. .sp -1
  3557. \h'3.840i'\v'5.191i'\D'l0.000i 0.200i'
  3558. .sp -1
  3559. \h'3.840i'\v'5.391i'\D'l-1.000i 0.000i'
  3560. .sp -1
  3561. \h'2.840i'\v'5.291i'\h'-0.0m'\v'0.2m'  
  3562. .sp -1
  3563. .\" BAR->FILE
  3564. \h'4.687i'\v'1.474i'\D'l0.078i 0.067i'
  3565. .sp -1
  3566. \h'4.728i'\v'1.445i'\D'l0.037i 0.096i'
  3567. .sp -1
  3568. \h'4.765i'\v'1.541i'\D'a-1.633i 1.155i 0.118i -1.997i'
  3569. .sp -1
  3570. .\" HIDDEN_BAZ->DIR_BAZ
  3571. \h'1.000i'\v'0.900i'\D'a3.787i 1.287i -2.947i 2.704i'
  3572. .sp -1
  3573. \h'1.754i'\v'4.835i'\D'l0.086i 0.057i'
  3574. .sp -1
  3575. \h'1.791i'\v'4.801i'\D'l0.049i 0.091i'
  3576. .sp -1
  3577. .\" LOWER->DIR_LOWER
  3578. \h'3.348i'\v'2.513i'\D'l0.067i 0.079i'
  3579. .sp -1
  3580. \h'3.393i'\v'2.491i'\D'l0.022i 0.101i'
  3581. .sp -1
  3582. \h'3.415i'\v'2.591i'\D'a-2.690i 1.328i 1.025i -2.820i'
  3583. .sp -1
  3584. .\" EMPTY_BAZX->EMPTY_FILE
  3585. \h'2.565i'\v'3.191i'\D'a2.571i -1.546i -2.186i 2.054i'
  3586. .sp -1
  3587. \h'2.863i'\v'3.644i'\D'l0.087i 0.056i'
  3588. .sp -1
  3589. \h'2.900i'\v'3.610i'\D'l0.050i 0.090i'
  3590. .sp -1
  3591. .\" CL->DIR_BAZ
  3592. \h'3.411i'\v'4.717i'\D'l-0.071i 0.075i'
  3593. .sp -1
  3594. \h'3.438i'\v'4.759i'\D'l-0.098i 0.033i'
  3595. .sp -1
  3596. \h'3.340i'\v'4.791i'\D'a-1.075i -1.687i 2.000i -0.013i'
  3597. .sp -1
  3598. .\" PL->DIR_LOWER
  3599. \h'3.340i'\v'5.091i'\D'a0.027i -1.600i 1.323i -0.900i'
  3600. .sp -1
  3601. \h'4.767i'\v'2.660i'\D'l-0.077i -0.069i'
  3602. .sp -1
  3603. \h'4.726i'\v'2.688i'\D'l-0.036i -0.097i'
  3604. .sp -1
  3605. .ft 1
  3606. .sp 1+5.391i
  3607. .PE
  3608. .if \n(00 .fi
  3609. .bp
  3610. .sp
  3611. .sp
  3612. .H 3 "Description of the TF System Use Field"
  3613. .sp
  3614. The purpose of the "TF" System Use Field is to allow the
  3615. recording of a complete set of time stamps related to a file.
  3616. This System Use Field shall be optional.
  3617. If this field does not exist, the
  3618. POSIX st_atime, st_ctime and st_mtime should have the same value as
  3619. Recording Date and Time Field of the ISO 9660:1988 directory record.
  3620. If both the "TF" System Use Field and the XAR are present, the time
  3621. attributes stored in these two areas must be consistent.
  3622. If only the XAR is present, the st_atime should have the same value as the
  3623. Recording Date and Time Field of the ISO 9660 directory record.
  3624. .sp
  3625. Multiple "TF" fields may be recorded, using any combination of time
  3626. stamps and time formats, but each individual time stamp may be recorded
  3627. only once per directory record.
  3628. .sp
  3629. The format of the "TF" System Use Field is as follows:
  3630. .sp
  3631. .VL 12 5 
  3632. .LI "[1]"
  3633. "BP 1 to BP 2 - Signature Word" shall indicate that the System Use Field
  3634. is a "TF" type System Use Field.
  3635. The bytes in this field shall be (54)(46) ("TF").
  3636. .LI "[2]"
  3637. "BP 3 - Length" shall specify as an 8-bit number the length in
  3638. bytes of the "TF" System Use Field.
  3639. This field shall be recorded according to ISO 9660:1988 Format 
  3640. section 7.1.1.
  3641. .LI "[3]"
  3642. "BP 4 - System Use Field Version" shall specify as an 8-bit number an
  3643. identification of the version of the "TF" System Use Field.
  3644. The number in this field shall be 1 for this version.
  3645. This field shall be recorded according to ISO 9660:1988 Format
  3646. section 7.1.1.
  3647. .LI "[4]"
  3648. "BP 5 - Flags" shall contain bit field flags numbered 0
  3649. to 7 starting with the least significant bit as follows:
  3650. .sp
  3651. .TS
  3652. .if \n+(b.=1 .nr d. \n(.c-\n(c.-1
  3653. .de 35
  3654. .ps \n(.s
  3655. .vs \n(.vu
  3656. .in \n(.iu
  3657. .if \n(.u .fi
  3658. .if \n(.j .ad
  3659. .if \n(.j=0 .na
  3660. ..
  3661. .nf
  3662. .nr #~ 0
  3663. .if \n(.T .if n .nr #~ 0.6n
  3664. .ds #d .d
  3665. .if \(ts\n(.z\(ts\(ts .ds #d nl
  3666. .fc
  3667. .nr 33 \n(.s
  3668. .rm 48 49 50
  3669. .nr 48 0
  3670. .nr 38 \wPosition
  3671. .if \n(48<\n(38 .nr 48 \n(38
  3672. .nr 38 \w\_
  3673. .if \n(48<\n(38 .nr 48 \n(38
  3674. .nr 38 \w0
  3675. .if \n(48<\n(38 .nr 48 \n(38
  3676. .nr 38 \w1
  3677. .if \n(48<\n(38 .nr 48 \n(38
  3678. .nr 38 \w2
  3679. .if \n(48<\n(38 .nr 48 \n(38
  3680. .nr 38 \w3
  3681. .if \n(48<\n(38 .nr 48 \n(38
  3682. .nr 38 \w4
  3683. .if \n(48<\n(38 .nr 48 \n(38
  3684. .nr 38 \w5
  3685. .if \n(48<\n(38 .nr 48 \n(38
  3686. .nr 38 \w6
  3687. .if \n(48<\n(38 .nr 48 \n(38
  3688. .nr 38 \w7
  3689. .if \n(48<\n(38 .nr 48 \n(38
  3690. .48
  3691. .rm 48
  3692. .nr 49 0
  3693. .nr 38 \wName
  3694. .if \n(49<\n(38 .nr 49 \n(38
  3695. .nr 38 \w\_
  3696. .if \n(49<\n(38 .nr 49 \n(38
  3697. .nr 38 \wCREATION
  3698. .if \n(49<\n(38 .nr 49 \n(38
  3699. .nr 38 \wMODIFY
  3700. .if \n(49<\n(38 .nr 49 \n(38
  3701. .nr 38 \wACCESS
  3702. .if \n(49<\n(38 .nr 49 \n(38
  3703. .nr 38 \wATTRIBUTES
  3704. .if \n(49<\n(38 .nr 49 \n(38
  3705. .nr 38 \wBACKUP
  3706. .if \n(49<\n(38 .nr 49 \n(38
  3707. .nr 38 \wEXPIRATION
  3708. .if \n(49<\n(38 .nr 49 \n(38
  3709. .nr 38 \wEFFECTIVE
  3710. .if \n(49<\n(38 .nr 49 \n(38
  3711. .nr 38 \wLONG_FORM
  3712. .if \n(49<\n(38 .nr 49 \n(38
  3713. .49
  3714. .rm 49
  3715. .nr 50 0
  3716. .nr 38 \wInterpretation if set to 1
  3717. .if \n(50<\n(38 .nr 50 \n(38
  3718. .nr 38 \w\_
  3719. .if \n(50<\n(38 .nr 50 \n(38
  3720. .nr 38 \wCreation time recorded
  3721. .if \n(50<\n(38 .nr 50 \n(38
  3722. .nr 38 \wModification time recorded
  3723. .if \n(50<\n(38 .nr 50 \n(38
  3724. .nr 38 \wLast Access time recorded
  3725. .if \n(50<\n(38 .nr 50 \n(38
  3726. .nr 38 \wLast Attribute Change time recorded
  3727. .if \n(50<\n(38 .nr 50 \n(38
  3728. .nr 38 \wLast Backup time recorded
  3729. .if \n(50<\n(38 .nr 50 \n(38
  3730. .nr 38 \wExpiration time recorded
  3731. .if \n(50<\n(38 .nr 50 \n(38
  3732. .nr 38 \wEffective time recorded
  3733. .if \n(50<\n(38 .nr 50 \n(38
  3734. .nr 38 \wISO 9660 17-byte time format used
  3735. .if \n(50<\n(38 .nr 50 \n(38
  3736. .50
  3737. .rm 50
  3738. .nr 38 1n
  3739. .nr 47 0
  3740. .nr 40 \n(47+((0*\n(38)/2)
  3741. .nr 48 +\n(40
  3742. .nr 41 \n(48+((6*\n(38)/2)
  3743. .nr 49 +\n(41
  3744. .nr 42 \n(49+((6*\n(38)/2)
  3745. .nr 50 +\n(42
  3746. .nr TW \n(50
  3747. .if t .if (\n(TW+\n(.o)>7.65i .tm Table at line 1412 file Input is too wide - \n(TW units
  3748. .nr #I \n(.i
  3749. .in +(\n(.lu-\n(TWu-\n(.iu)/2u
  3750. .fc  
  3751. .nr #T 0-1
  3752. .nr #a 0-1
  3753. .eo
  3754. .de T#
  3755. .nr 35 1m
  3756. .ds #d .d
  3757. .if \(ts\n(.z\(ts\(ts .ds #d nl
  3758. .mk ##
  3759. .nr ## -1v
  3760. .ls 1
  3761. .ls
  3762. ..
  3763. .ec
  3764. .ta \n(48u \n(49u \n(50u 
  3765. .nr 35 1m
  3766. .nr 31 \n(.f
  3767. \&\h'|\n(40u'Position\h'|\n(41u'Name\h'|\n(42u'Interpretation if set to 1
  3768. .ta \n(48u \n(49u \n(50u 
  3769. .nr 36 \n(.v
  3770. .vs \n(.vu-\n(.sp
  3771. .nr 35 \n(.vu
  3772. .nr 31 \n(.f
  3773. \&\h'|\n(40u'\h'|\n(40u'\s\n(33\l'|\n(48u'\s0\h'|\n(41u'\h'|\n(41u'\s\n(33\l'|\n(49u'\s0\h'|\n(42u'\h'|\n(42u'\s\n(33\l'|\n(50u'\s0
  3774. .vs \n(36u
  3775. .ta \n(48u \n(49u \n(50u 
  3776. .nr 35 1m
  3777. .nr 31 \n(.f
  3778. \&\h'|\n(40u'0\h'|\n(41u'CREATION\h'|\n(42u'Creation time recorded
  3779. .ta \n(48u \n(49u \n(50u 
  3780. .nr 35 1m
  3781. .nr 31 \n(.f
  3782. \&\h'|\n(40u'1\h'|\n(41u'MODIFY\h'|\n(42u'Modification time recorded
  3783. .ta \n(48u \n(49u \n(50u 
  3784. .nr 35 1m
  3785. .nr 31 \n(.f
  3786. \&\h'|\n(40u'2\h'|\n(41u'ACCESS\h'|\n(42u'Last Access time recorded
  3787. .ta \n(48u \n(49u \n(50u 
  3788. .nr 35 1m
  3789. .nr 31 \n(.f
  3790. \&\h'|\n(40u'3\h'|\n(41u'ATTRIBUTES\h'|\n(42u'Last Attribute Change time recorded
  3791. .ta \n(48u \n(49u \n(50u 
  3792. .nr 35 1m
  3793. .nr 31 \n(.f
  3794. \&\h'|\n(40u'4\h'|\n(41u'BACKUP\h'|\n(42u'Last Backup time recorded
  3795. .ta \n(48u \n(49u \n(50u 
  3796. .nr 35 1m
  3797. .nr 31 \n(.f
  3798. \&\h'|\n(40u'5\h'|\n(41u'EXPIRATION\h'|\n(42u'Expiration time recorded
  3799. .ta \n(48u \n(49u \n(50u 
  3800. .nr 35 1m
  3801. .nr 31 \n(.f
  3802. \&\h'|\n(40u'6\h'|\n(41u'EFFECTIVE\h'|\n(42u'Effective time recorded
  3803. .ta \n(48u \n(49u \n(50u 
  3804. .nr 35 1m
  3805. .nr 31 \n(.f
  3806. \&\h'|\n(40u'7\h'|\n(41u'LONG_FORM\h'|\n(42u'ISO 9660 17-byte time format used
  3807. .fc
  3808. .nr T. 1
  3809. .T# 1
  3810. .in \n(#Iu
  3811. .35
  3812. .TE
  3813. .if \n-(b.=0 .nr c. \n(.c-\n(d.-13
  3814. .sp
  3815. If the LONG_FORM bit is set to one, all time stamps in this "TF"
  3816. System Use Field shall be recorded using the format specified in
  3817. Section 8.4.26.1 of ISO 9660:1988.
  3818. If the LONG_FORM bit is set to zero, all time stamps in this "TF" 
  3819. System Use Field shall be recorded
  3820. using the format specified in Section 9.1.5 of ISO 9660:1988.
  3821. .LI "[4+N]"
  3822. "BP 6+(X*(N-1)) to 5+(X*N) Time Stamp" shall contain the Nth time
  3823. stamp indicated in [4] as being recorded, starting with the 0th
  3824. bit and working sequentially through the list of recordable time stamps.
  3825. The LONG_FORM bit does not indicate the presence or
  3826. absence of any time stamp.
  3827. The value of X in the expression above
  3828. shall be 17 if the LONG_FORM bit is set to 1, and 7 otherwise.
  3829. .LE
  3830. .bp
  3831. .sp
  3832. The recorded time for each of the time stamps recorded in this
  3833. field shall be local time.
  3834. if recorded, CREATION, Creation Time, has the same meaning as in
  3835. ISO 9660:1988 Format section 9.5.4.
  3836. .sp
  3837. If recorded, MODIFY, File Modification Date and Time, has the
  3838. same meaning as in ISO 9660:1988 Format section 9.5.5.
  3839. This field shall be used by the st_mtime for POSIX conformance.
  3840. .sp
  3841. If recorded, ACCESS, File Last Access Date and Time, shall
  3842. specify the date and time of the day at which the information in the
  3843. file was last accessed.
  3844. This field shall be used by the st_atime for POSIX conformance.
  3845. .sp
  3846. If recorded, ATTRIBUTES, Last Attribute Change Time,
  3847. shall be used by the st_ctime field for POSIX conformance.
  3848. .sp
  3849. If recorded, BACKUP, Last Backup Time, shall provide a time stamp
  3850. for the most recent backup of this file.
  3851. The utilization of this information is not restricted by this specification.
  3852. .sp
  3853. If recorded, EXPIRE, File Expiration Date and Time, has the same
  3854. meaning as in ISO 9660:1988 Format section 9.5.6.
  3855. .sp
  3856. If recorded, EFFECT File Effective Date and Time" has the same
  3857. meaning as in ISO 9660:1988 Format section 9.5.7.
  3858. .sp
  3859. .sp
  3860. .TB "TF System Use Field - Version 1"
  3861. .TS
  3862. .if \n+(b.=1 .nr d. \n(.c-\n(c.-1
  3863. .de 35
  3864. .ps \n(.s
  3865. .vs \n(.vu
  3866. .in \n(.iu
  3867. .if \n(.u .fi
  3868. .if \n(.j .ad
  3869. .if \n(.j=0 .na
  3870. ..
  3871. .nf
  3872. .nr #~ 0
  3873. .if \n(.T .if n .nr #~ 0.6n
  3874. .ds #d .d
  3875. .if \(ts\n(.z\(ts\(ts .ds #d nl
  3876. .fc
  3877. .nr 33 \n(.s
  3878. .rm 54 55 56 57 58 59
  3879. .nr 54 0
  3880. .nr 38 \w 
  3881. .if \n(54<\n(38 .nr 54 \n(38
  3882. .nr 38 \w'T'
  3883. .if \n(54<\n(38 .nr 54 \n(38
  3884. .nr 38 \w(BP1)
  3885. .if \n(54<\n(38 .nr 54 \n(38
  3886. .nr 38 \w 
  3887. .if \n(54<\n(38 .nr 54 \n(38
  3888. .54
  3889. .rm 54
  3890. .nr 55 0
  3891. .nr 38 \w 
  3892. .if \n(55<\n(38 .nr 55 \n(38
  3893. .nr 38 \w'F'
  3894. .if \n(55<\n(38 .nr 55 \n(38
  3895. .nr 38 \w(BP2)
  3896. .if \n(55<\n(38 .nr 55 \n(38
  3897. .nr 38 \w 
  3898. .if \n(55<\n(38 .nr 55 \n(38
  3899. .55
  3900. .rm 55
  3901. .nr 56 0
  3902. .nr 38 \w 
  3903. .if \n(56<\n(38 .nr 56 \n(38
  3904. .nr 38 \wLENGTH
  3905. .if \n(56<\n(38 .nr 56 \n(38
  3906. .nr 38 \w(BP3)
  3907. .if \n(56<\n(38 .nr 56 \n(38
  3908. .nr 38 \w 
  3909. .if \n(56<\n(38 .nr 56 \n(38
  3910. .56
  3911. .rm 56
  3912. .nr 57 0
  3913. .nr 38 \w 
  3914. .if \n(57<\n(38 .nr 57 \n(38
  3915. .nr 38 \w1
  3916. .if \n(57<\n(38 .nr 57 \n(38
  3917. .nr 38 \w(BP4)
  3918. .if \n(57<\n(38 .nr 57 \n(38
  3919. .nr 38 \w 
  3920. .if \n(57<\n(38 .nr 57 \n(38
  3921. .57
  3922. .rm 57
  3923. .nr 58 0
  3924. .nr 38 \w 
  3925. .if \n(58<\n(38 .nr 58 \n(38
  3926. .nr 38 \wFLAGS
  3927. .if \n(58<\n(38 .nr 58 \n(38
  3928. .nr 38 \w(BP5)
  3929. .if \n(58<\n(38 .nr 58 \n(38
  3930. .nr 38 \w 
  3931. .if \n(58<\n(38 .nr 58 \n(38
  3932. .58
  3933. .rm 58
  3934. .nr 59 0
  3935. .nr 38 \w 
  3936. .if \n(59<\n(38 .nr 59 \n(38
  3937. .nr 38 \wTIME STAMPS
  3938. .if \n(59<\n(38 .nr 59 \n(38
  3939. .nr 38 \w(BP6 to LENGTH)
  3940. .if \n(59<\n(38 .nr 59 \n(38
  3941. .nr 38 \w 
  3942. .if \n(59<\n(38 .nr 59 \n(38
  3943. .59
  3944. .rm 59
  3945. .nr 38 1n
  3946. .nr 53 0
  3947. .nr 40 \n(53+((2*\n(38)/2)
  3948. .nr 54 +\n(40
  3949. .nr 41 \n(54+((6*\n(38)/2)
  3950. .nr 55 +\n(41
  3951. .nr 42 \n(55+((6*\n(38)/2)
  3952. .nr 56 +\n(42
  3953. .nr 43 \n(56+((6*\n(38)/2)
  3954. .nr 57 +\n(43
  3955. .nr 44 \n(57+((6*\n(38)/2)
  3956. .nr 58 +\n(44
  3957. .nr 45 \n(58+((6*\n(38)/2)
  3958. .nr 59 +\n(45
  3959. .nr TW \n(59
  3960. .nr TW +((2*\n(38)/2)
  3961. .if t .if (\n(TW+\n(.o)>7.65i .tm Table at line 1467 file Input is too wide - \n(TW units
  3962. .ne 4v+0p
  3963. .nr #I \n(.i
  3964. .in +(\n(.lu-\n(TWu-\n(.iu)/2u
  3965. .fc  
  3966. .nr #T 0-1
  3967. .nr #a 0-1
  3968. .nr #a 0-1
  3969. .eo
  3970. .de T#
  3971. .nr 35 1m
  3972. .ds #d .d
  3973. .if \(ts\n(.z\(ts\(ts .ds #d nl
  3974. .mk ##
  3975. .nr ## -1v
  3976. .ls 1
  3977. .if \n(#T>=0 .nr #a \n(#T
  3978. .if \n(T. .vs \n(.vu-\n(.sp
  3979. .if \n(T. \h'|0'\s\n(33\l'|\n(TWu\(ul'\s0
  3980. .if \n(T. .vs
  3981. .if \n(#a>=0 .sp -1
  3982. .if \n(#a>=0 \h'|0'\s\n(33\h'-\n(#~u'\L'|\n(#au-1v'\s0\v'\n(\*(#du-\n(#au+1v'\h'|\n(TWu'
  3983. .if \n(#a>=0 .sp -1
  3984. .if \n(#a>=0 \h'(|\n(41u+|\n(54u)/2u'\s\n(33\h'-\n(#~u'\L'|\n(#au-1v'\s0\v'\n(\*(#du-\n(#au+1v'\h'|\n(TWu'
  3985. .if \n(#a>=0 .sp -1
  3986. .if \n(#a>=0 \h'(|\n(42u+|\n(55u)/2u'\s\n(33\h'-\n(#~u'\L'|\n(#au-1v'\s0\v'\n(\*(#du-\n(#au+1v'\h'|\n(TWu'
  3987. .if \n(#a>=0 .sp -1
  3988. .if \n(#a>=0 \h'(|\n(43u+|\n(56u)/2u'\s\n(33\h'-\n(#~u'\L'|\n(#au-1v'\s0\v'\n(\*(#du-\n(#au+1v'\h'|\n(TWu'
  3989. .if \n(#a>=0 .sp -1
  3990. .if \n(#a>=0 \h'(|\n(44u+|\n(57u)/2u'\s\n(33\h'-\n(#~u'\L'|\n(#au-1v'\s0\v'\n(\*(#du-\n(#au+1v'\h'|\n(TWu'
  3991. .if \n(#a>=0 .sp -1
  3992. .if \n(#a>=0 \h'(|\n(45u+|\n(58u)/2u'\s\n(33\h'-\n(#~u'\L'|\n(#au-1v'\s0\v'\n(\*(#du-\n(#au+1v'\h'|\n(TWu'
  3993. .if \n(#a>=0 .sp -1
  3994. .if \n(#a>=0 \h'|\n(TWu'\s\n(33\h'-\n(#~u'\L'|\n(#au-1v'\s0\v'\n(\*(#du-\n(#au+1v'
  3995. .ls
  3996. ..
  3997. .ec
  3998. .nr 36 \n(.v
  3999. .vs \n(.vu-\n(.sp
  4000. \h'|0'\s\n(33\l'|\n(TWu\(ul'\s0
  4001. .vs \n(36u
  4002. .mk #a
  4003. .ta \n(54u \n(55u \n(56u \n(57u \n(58u \n(59u 
  4004. .nr 35 1m
  4005. .nr 31 \n(.f
  4006. \&\h'|\n(40u' \h'|\n(41u' \h'|\n(42u' \h'|\n(43u' \h'|\n(44u' \h'|\n(45u' 
  4007. .ta \n(54u \n(55u \n(56u \n(57u \n(58u \n(59u 
  4008. .nr 35 1m
  4009. .nr 31 \n(.f
  4010. \&\h'|\n(40u''T'\h'|\n(41u''F'\h'|\n(42u'LENGTH\h'|\n(43u'1\h'|\n(44u'FLAGS\h'|\n(45u'TIME STAMPS
  4011. .ta \n(54u \n(55u \n(56u \n(57u \n(58u \n(59u 
  4012. .nr 35 1m
  4013. .nr 31 \n(.f
  4014. \&\h'|\n(40u'(BP1)\h'|\n(41u'(BP2)\h'|\n(42u'(BP3)\h'|\n(43u'(BP4)\h'|\n(44u'(BP5)\h'|\n(45u'(BP6 to LENGTH)
  4015. .ta \n(54u \n(55u \n(56u \n(57u \n(58u \n(59u 
  4016. .nr 35 1m
  4017. .nr 31 \n(.f
  4018. \&\h'|\n(40u' \h'|\n(41u' \h'|\n(42u' \h'|\n(43u' \h'|\n(44u' \h'|\n(45u' 
  4019. .fc
  4020. .nr T. 1
  4021. .T# 1
  4022. .in \n(#Iu
  4023. .35
  4024. .nr #a 0
  4025. .TE
  4026. .if \n-(b.=0 .nr c. \n(.c-\n(d.-7
  4027. .sp
  4028. .sp
  4029. .sp
  4030. .H 3 "Description of the RR System Use Field"
  4031. .sp
  4032. The purpose of the "RR" System Use Field is to indicate which
  4033. System Use Fields defined by the Rock Ridge Interchange Protocol are
  4034. actually recorded for the current directory record.
  4035. This System Use Field is optional.
  4036. No more than one "RR" System Use Field shall
  4037. appear in (all) the System Use Area(s) for a single directory record.
  4038. .sp
  4039. The use of an "RR" field may allow some additional optimization
  4040. in implementations which utilize this information to eliminate
  4041. searching through the entire System Use Area (and all Continuations)
  4042. for a System Use Field which may not even have been recorded.
  4043. For this reason, if an "RR" field is recorded, it should be one of the
  4044. first fields recorded in the System Use Area.
  4045. .bp
  4046. .sp
  4047. The format of the "RR" System Use Field is as follows:
  4048. .sp
  4049. .VL 10 5
  4050. .LI "[1]"
  4051. "BP 1 to BP 2 - Signature Word" shall indicate that the System Use Field
  4052. is a "RR" type System Use Field.
  4053. The bytes in this field shall be (52)(52) ("RR").
  4054. .LI "[2]"
  4055. "BP 3 - Length" shall specify as an 8-bit number the length in
  4056. bytes of the "RR" System Use Field.
  4057. The number in this field shall be 5 for this version.
  4058. This field shall be recorded according to ISO 9660:1988 Format 
  4059. section 7.1.1.
  4060. .LI "[3]"
  4061. "BP 4 - System Use Field Version" shall specify as an 8-bit number an
  4062. identification of the version of the "RR" System Use Field.
  4063. The number in this field shall be 1 for this version.
  4064. This field shall be recorded according to ISO 9660:1988 Format
  4065. section 7.1.1.
  4066. .LI "[4]"
  4067. "BP 5 - Flags" shall contain bit field flags numbered 0
  4068. to 7 starting with the least significant bit as follows:
  4069. .sp
  4070. .TS
  4071. .if \n+(b.=1 .nr d. \n(.c-\n(c.-1
  4072. .de 35
  4073. .ps \n(.s
  4074. .vs \n(.vu
  4075. .in \n(.iu
  4076. .if \n(.u .fi
  4077. .if \n(.j .ad
  4078. .if \n(.j=0 .na
  4079. ..
  4080. .nf
  4081. .nr #~ 0
  4082. .if \n(.T .if n .nr #~ 0.6n
  4083. .ds #d .d
  4084. .if \(ts\n(.z\(ts\(ts .ds #d nl
  4085. .fc
  4086. .nr 33 \n(.s
  4087. .rm 46 47
  4088. .nr 46 0
  4089. .nr 38 \wPosition
  4090. .if \n(46<\n(38 .nr 46 \n(38
  4091. .nr 38 \w\_
  4092. .if \n(46<\n(38 .nr 46 \n(38
  4093. .nr 38 \w0
  4094. .if \n(46<\n(38 .nr 46 \n(38
  4095. .nr 38 \w1
  4096. .if \n(46<\n(38 .nr 46 \n(38
  4097. .nr 38 \w2
  4098. .if \n(46<\n(38 .nr 46 \n(38
  4099. .nr 38 \w3
  4100. .if \n(46<\n(38 .nr 46 \n(38
  4101. .nr 38 \w4
  4102. .if \n(46<\n(38 .nr 46 \n(38
  4103. .nr 38 \w5
  4104. .if \n(46<\n(38 .nr 46 \n(38
  4105. .nr 38 \w6
  4106. .if \n(46<\n(38 .nr 46 \n(38
  4107. .nr 38 \w7
  4108. .if \n(46<\n(38 .nr 46 \n(38
  4109. .46
  4110. .rm 46
  4111. .nr 47 0
  4112. .nr 38 \wIf set to 1, indicates, for this Directory Record
  4113. .if \n(47<\n(38 .nr 47 \n(38
  4114. .nr 38 \w\_
  4115. .if \n(47<\n(38 .nr 47 \n(38
  4116. .nr 38 \w"PX" System Use Field recorded
  4117. .if \n(47<\n(38 .nr 47 \n(38
  4118. .nr 38 \w"PN" System Use Field recorded
  4119. .if \n(47<\n(38 .nr 47 \n(38
  4120. .nr 38 \w"SL" System Use Field recorded
  4121. .if \n(47<\n(38 .nr 47 \n(38
  4122. .nr 38 \w"NM" System Use Field recorded
  4123. .if \n(47<\n(38 .nr 47 \n(38
  4124. .nr 38 \w"CL" System Use Field recorded
  4125. .if \n(47<\n(38 .nr 47 \n(38
  4126. .nr 38 \w"PL" System Use Field recorded
  4127. .if \n(47<\n(38 .nr 47 \n(38
  4128. .nr 38 \w"RE" System Use Field recorded
  4129. .if \n(47<\n(38 .nr 47 \n(38
  4130. .nr 38 \w"TF" System Use Field recorded
  4131. .if \n(47<\n(38 .nr 47 \n(38
  4132. .47
  4133. .rm 47
  4134. .nr 38 1n
  4135. .nr 45 0
  4136. .nr 40 \n(45+((0*\n(38)/2)
  4137. .nr 46 +\n(40
  4138. .nr 41 \n(46+((6*\n(38)/2)
  4139. .nr 47 +\n(41
  4140. .nr TW \n(47
  4141. .if t .if (\n(TW+\n(.o)>7.65i .tm Table at line 1524 file Input is too wide - \n(TW units
  4142. .nr #I \n(.i
  4143. .in +(\n(.lu-\n(TWu-\n(.iu)/2u
  4144. .fc  
  4145. .nr #T 0-1
  4146. .nr #a 0-1
  4147. .eo
  4148. .de T#
  4149. .nr 35 1m
  4150. .ds #d .d
  4151. .if \(ts\n(.z\(ts\(ts .ds #d nl
  4152. .mk ##
  4153. .nr ## -1v
  4154. .ls 1
  4155. .ls
  4156. ..
  4157. .ec
  4158. .ta \n(46u \n(47u 
  4159. .nr 35 1m
  4160. .nr 31 \n(.f
  4161. \&\h'|\n(40u'Position\h'|\n(41u'If set to 1, indicates, for this Directory Record
  4162. .ta \n(46u \n(47u 
  4163. .nr 36 \n(.v
  4164. .vs \n(.vu-\n(.sp
  4165. .nr 35 \n(.vu
  4166. .nr 31 \n(.f
  4167. \&\h'|\n(40u'\h'|\n(40u'\s\n(33\l'|\n(46u'\s0\h'|\n(41u'\h'|\n(41u'\s\n(33\l'|\n(47u'\s0
  4168. .vs \n(36u
  4169. .ta \n(46u \n(47u 
  4170. .nr 35 1m
  4171. .nr 31 \n(.f
  4172. \&\h'|\n(40u'0\h'|\n(41u'"PX" System Use Field recorded
  4173. .ta \n(46u \n(47u 
  4174. .nr 35 1m
  4175. .nr 31 \n(.f
  4176. \&\h'|\n(40u'1\h'|\n(41u'"PN" System Use Field recorded
  4177. .ta \n(46u \n(47u 
  4178. .nr 35 1m
  4179. .nr 31 \n(.f
  4180. \&\h'|\n(40u'2\h'|\n(41u'"SL" System Use Field recorded
  4181. .ta \n(46u \n(47u 
  4182. .nr 35 1m
  4183. .nr 31 \n(.f
  4184. \&\h'|\n(40u'3\h'|\n(41u'"NM" System Use Field recorded
  4185. .ta \n(46u \n(47u 
  4186. .nr 35 1m
  4187. .nr 31 \n(.f
  4188. \&\h'|\n(40u'4\h'|\n(41u'"CL" System Use Field recorded
  4189. .ta \n(46u \n(47u 
  4190. .nr 35 1m
  4191. .nr 31 \n(.f
  4192. \&\h'|\n(40u'5\h'|\n(41u'"PL" System Use Field recorded
  4193. .ta \n(46u \n(47u 
  4194. .nr 35 1m
  4195. .nr 31 \n(.f
  4196. \&\h'|\n(40u'6\h'|\n(41u'"RE" System Use Field recorded
  4197. .ta \n(46u \n(47u 
  4198. .nr 35 1m
  4199. .nr 31 \n(.f
  4200. \&\h'|\n(40u'7\h'|\n(41u'"TF" System Use Field recorded
  4201. .fc
  4202. .nr T. 1
  4203. .T# 1
  4204. .in \n(#Iu
  4205. .35
  4206. .TE
  4207. .if \n-(b.=0 .nr c. \n(.c-\n(d.-13
  4208. .LE
  4209. .sp
  4210. .sp
  4211. .TB "RR System Use Field - Version 1"
  4212. .TS
  4213. .if \n+(b.=1 .nr d. \n(.c-\n(c.-1
  4214. .de 35
  4215. .ps \n(.s
  4216. .vs \n(.vu
  4217. .in \n(.iu
  4218. .if \n(.u .fi
  4219. .if \n(.j .ad
  4220. .if \n(.j=0 .na
  4221. ..
  4222. .nf
  4223. .nr #~ 0
  4224. .if \n(.T .if n .nr #~ 0.6n
  4225. .ds #d .d
  4226. .if \(ts\n(.z\(ts\(ts .ds #d nl
  4227. .fc
  4228. .nr 33 \n(.s
  4229. .rm 52 53 54 55 56
  4230. .nr 52 0
  4231. .nr 38 \w 
  4232. .if \n(52<\n(38 .nr 52 \n(38
  4233. .nr 38 \w'R'
  4234. .if \n(52<\n(38 .nr 52 \n(38
  4235. .nr 38 \w(BP1)
  4236. .if \n(52<\n(38 .nr 52 \n(38
  4237. .nr 38 \w 
  4238. .if \n(52<\n(38 .nr 52 \n(38
  4239. .52
  4240. .rm 52
  4241. .nr 53 0
  4242. .nr 38 \w 
  4243. .if \n(53<\n(38 .nr 53 \n(38
  4244. .nr 38 \w'R'
  4245. .if \n(53<\n(38 .nr 53 \n(38
  4246. .nr 38 \w(BP2)
  4247. .if \n(53<\n(38 .nr 53 \n(38
  4248. .nr 38 \w 
  4249. .if \n(53<\n(38 .nr 53 \n(38
  4250. .53
  4251. .rm 53
  4252. .nr 54 0
  4253. .nr 38 \w 
  4254. .if \n(54<\n(38 .nr 54 \n(38
  4255. .nr 38 \wLENGTH
  4256. .if \n(54<\n(38 .nr 54 \n(38
  4257. .nr 38 \w(BP3)
  4258. .if \n(54<\n(38 .nr 54 \n(38
  4259. .nr 38 \w 
  4260. .if \n(54<\n(38 .nr 54 \n(38
  4261. .54
  4262. .rm 54
  4263. .nr 55 0
  4264. .nr 38 \w 
  4265. .if \n(55<\n(38 .nr 55 \n(38
  4266. .nr 38 \w1
  4267. .if \n(55<\n(38 .nr 55 \n(38
  4268. .nr 38 \w(BP4)
  4269. .if \n(55<\n(38 .nr 55 \n(38
  4270. .nr 38 \w 
  4271. .if \n(55<\n(38 .nr 55 \n(38
  4272. .55
  4273. .rm 55
  4274. .nr 56 0
  4275. .nr 38 \w 
  4276. .if \n(56<\n(38 .nr 56 \n(38
  4277. .nr 38 \wFLAGS
  4278. .if \n(56<\n(38 .nr 56 \n(38
  4279. .nr 38 \w(BP5)
  4280. .if \n(56<\n(38 .nr 56 \n(38
  4281. .nr 38 \w 
  4282. .if \n(56<\n(38 .nr 56 \n(38
  4283. .56
  4284. .rm 56
  4285. .nr 38 1n
  4286. .nr 51 0
  4287. .nr 40 \n(51+((2*\n(38)/2)
  4288. .nr 52 +\n(40
  4289. .nr 41 \n(52+((6*\n(38)/2)
  4290. .nr 53 +\n(41
  4291. .nr 42 \n(53+((6*\n(38)/2)
  4292. .nr 54 +\n(42
  4293. .nr 43 \n(54+((6*\n(38)/2)
  4294. .nr 55 +\n(43
  4295. .nr 44 \n(55+((6*\n(38)/2)
  4296. .nr 56 +\n(44
  4297. .nr TW \n(56
  4298. .nr TW +((2*\n(38)/2)
  4299. .if t .if (\n(TW+\n(.o)>7.65i .tm Table at line 1536 file Input is too wide - \n(TW units
  4300. .ne 4v+0p
  4301. .nr #I \n(.i
  4302. .in +(\n(.lu-\n(TWu-\n(.iu)/2u
  4303. .fc  
  4304. .nr #T 0-1
  4305. .nr #a 0-1
  4306. .nr #a 0-1
  4307. .eo
  4308. .de T#
  4309. .nr 35 1m
  4310. .ds #d .d
  4311. .if \(ts\n(.z\(ts\(ts .ds #d nl
  4312. .mk ##
  4313. .nr ## -1v
  4314. .ls 1
  4315. .if \n(#T>=0 .nr #a \n(#T
  4316. .if \n(T. .vs \n(.vu-\n(.sp
  4317. .if \n(T. \h'|0'\s\n(33\l'|\n(TWu\(ul'\s0
  4318. .if \n(T. .vs
  4319. .if \n(#a>=0 .sp -1
  4320. .if \n(#a>=0 \h'|0'\s\n(33\h'-\n(#~u'\L'|\n(#au-1v'\s0\v'\n(\*(#du-\n(#au+1v'\h'|\n(TWu'
  4321. .if \n(#a>=0 .sp -1
  4322. .if \n(#a>=0 \h'(|\n(41u+|\n(52u)/2u'\s\n(33\h'-\n(#~u'\L'|\n(#au-1v'\s0\v'\n(\*(#du-\n(#au+1v'\h'|\n(TWu'
  4323. .if \n(#a>=0 .sp -1
  4324. .if \n(#a>=0 \h'(|\n(42u+|\n(53u)/2u'\s\n(33\h'-\n(#~u'\L'|\n(#au-1v'\s0\v'\n(\*(#du-\n(#au+1v'\h'|\n(TWu'
  4325. .if \n(#a>=0 .sp -1
  4326. .if \n(#a>=0 \h'(|\n(43u+|\n(54u)/2u'\s\n(33\h'-\n(#~u'\L'|\n(#au-1v'\s0\v'\n(\*(#du-\n(#au+1v'\h'|\n(TWu'
  4327. .if \n(#a>=0 .sp -1
  4328. .if \n(#a>=0 \h'(|\n(44u+|\n(55u)/2u'\s\n(33\h'-\n(#~u'\L'|\n(#au-1v'\s0\v'\n(\*(#du-\n(#au+1v'\h'|\n(TWu'
  4329. .if \n(#a>=0 .sp -1
  4330. .if \n(#a>=0 \h'|\n(TWu'\s\n(33\h'-\n(#~u'\L'|\n(#au-1v'\s0\v'\n(\*(#du-\n(#au+1v'
  4331. .ls
  4332. ..
  4333. .ec
  4334. .nr 36 \n(.v
  4335. .vs \n(.vu-\n(.sp
  4336. \h'|0'\s\n(33\l'|\n(TWu\(ul'\s0
  4337. .vs \n(36u
  4338. .mk #a
  4339. .ta \n(52u \n(53u \n(54u \n(55u \n(56u 
  4340. .nr 35 1m
  4341. .nr 31 \n(.f
  4342. \&\h'|\n(40u' \h'|\n(41u' \h'|\n(42u' \h'|\n(43u' \h'|\n(44u' 
  4343. .ta \n(52u \n(53u \n(54u \n(55u \n(56u 
  4344. .nr 35 1m
  4345. .nr 31 \n(.f
  4346. \&\h'|\n(40u''R'\h'|\n(41u''R'\h'|\n(42u'LENGTH\h'|\n(43u'1\h'|\n(44u'FLAGS
  4347. .ta \n(52u \n(53u \n(54u \n(55u \n(56u 
  4348. .nr 35 1m
  4349. .nr 31 \n(.f
  4350. \&\h'|\n(40u'(BP1)\h'|\n(41u'(BP2)\h'|\n(42u'(BP3)\h'|\n(43u'(BP4)\h'|\n(44u'(BP5)
  4351. .ta \n(52u \n(53u \n(54u \n(55u \n(56u 
  4352. .nr 35 1m
  4353. .nr 31 \n(.f
  4354. \&\h'|\n(40u' \h'|\n(41u' \h'|\n(42u' \h'|\n(43u' \h'|\n(44u' 
  4355. .fc
  4356. .nr T. 1
  4357. .T# 1
  4358. .in \n(#Iu
  4359. .35
  4360. .nr #a 0
  4361. .TE
  4362. .if \n-(b.=0 .nr c. \n(.c-\n(d.-7
  4363. .sp
  4364. .sp
  4365. .sp
  4366. .H 2 "Required Recording and Consistency"
  4367. .sp
  4368. The "PX" System Use Fields shall be recorded in every directory
  4369. record.
  4370. All recorded instances of the "PX" and "TF" System Use Fields
  4371. in directory records referring to a single directory must be
  4372. consistent.
  4373. .bp
  4374. .sp
  4375. .H 2 "Specification of the ER System Use Field Values for RRIP"
  4376. .sp
  4377. The Extension Version number for the version of the RRIP defined
  4378. herein shall be 1.
  4379. The content of the Extension Identifier field shall be "RRIP_1991A".
  4380. The Identifier Length shall be 10.
  4381. .sp
  4382. The recommended content of the Extension Descriptor shall be "THE
  4383. ROCK RIDGE INTERCHANGE PROTOCOL PROVIDES SUPPORT FOR POSIX FILE SYSTEM
  4384. SEMANTICS."
  4385. The corresponding Description Length is 84.
  4386. .sp
  4387. The recommended content of the Extension Source shall be "PLEASE
  4388. CONTACT DISC PUBLISHER FOR SPECIFICATION SOURCE.  SEE PUBLISHER
  4389. IDENTIFIER IN PRIMARY VOLUME DESCRIPTOR FOR CONTACT INFORMATION."
  4390. The corresponding Source Length is 135.
  4391. .sp
  4392. .bp
  4393. .\" Blank page for back of this chapter
  4394. .ce 
  4395.        
  4396.         
  4397.        
  4398.          
  4399. .sp
  4400. .H 1 "RRIP APPLICATION PROGRAMMING INTERFACE (API)"
  4401. .sp
  4402. This section specifies an Application Programming Interface (API)
  4403. for the Rock Ridge Interchange Protocol which is implemented on top
  4404. of the System Use Sharing Protocol. This API is a supplement to the
  4405. X/Open CD-ROM Support Component (XCDR).
  4406. .sp
  4407. .H 2 "Mapping Device Files"
  4408. .sp
  4409. The major and minor numbers of device files as recorded in the System
  4410. Use Area on the CD-ROM may not match the major and minor numbers
  4411. of the physical devices. 
  4412. If that is the case, the command,
  4413. .I cddevsuppl\^
  4414. can be used to change the major and minor numbers of a specific
  4415. device file on the CD-ROM.
  4416. .sp
  4417. If the system imposes a maximum value on the number of device file 
  4418. mappings, this will be defined via the symbolic name CD_MAXDMAP in
  4419. .I <sys/cdrom.h>.\^
  4420. At least 50 device file mappings will be supported.
  4421. .sp
  4422. .H 2 "Obtaining CD-ROM Specific Information"
  4423. .sp
  4424. .H 3 "System Use Sharing Protocol Fields"
  4425. .sp
  4426. The CD-ROM contains System Use Fields in the System Use Areas which are
  4427. specific to the CD-ROM and cannot be obtained by standard XSI system 
  4428. interfaces.
  4429. Using the command
  4430. .I cdsuf,\^
  4431. or the equivalent library function, all additional information in a
  4432. file or directory System Use Field can be accessed.
  4433. .sp
  4434. .H 3 "Changing PX Field Information"
  4435. .sp
  4436. The "POSIX File User ID" and "POSIX File Group ID" can be mapped on the
  4437. receiving system by using commands and library functions supplied by
  4438. the X/Open CD-ROM Support Component (XCDR).
  4439. .sp
  4440. .H 3 "File Name Resolution"
  4441. .sp
  4442. The fields
  4443. .I file,\^
  4444. .I filename,\^
  4445. .I path,\^
  4446. and
  4447. .I pathname\^
  4448. shall be resolved according to the Rock Ridge Interchange Protocol, which
  4449. may be the ISO 9660 name or RRIP name depending on whether an "NM" System
  4450. Use Field is present for any component of that filename.
  4451. .bp
  4452. .sp
  4453. .H 2 "Definition of CD-ROM Specific User Commands"
  4454. .sp
  4455. This sections provides manual pages which describe CD-ROM user commands
  4456. for users in detail.
  4457. The user commands are:
  4458. .sp
  4459. .TS
  4460. .if \n+(b.=1 .nr d. \n(.c-\n(c.-1
  4461. .de 35
  4462. .ps \n(.s
  4463. .vs \n(.vu
  4464. .in \n(.iu
  4465. .if \n(.u .fi
  4466. .if \n(.j .ad
  4467. .if \n(.j=0 .na
  4468. ..
  4469. .nf
  4470. .nr #~ 0
  4471. .if \n(.T .if n .nr #~ 0.6n
  4472. .ds #d .d
  4473. .if \(ts\n(.z\(ts\(ts .ds #d nl
  4474. .fc
  4475. .nr 33 \n(.s
  4476. .rm 46 47
  4477. .nr 46 0
  4478. .nr 38 \wName
  4479. .if \n(46<\n(38 .nr 46 \n(38
  4480. .nr 38 \w\_
  4481. .if \n(46<\n(38 .nr 46 \n(38
  4482. .nr 38 \w 
  4483. .if \n(46<\n(38 .nr 46 \n(38
  4484. .nr 38 \wcdsuf
  4485. .if \n(46<\n(38 .nr 46 \n(38
  4486. .nr 38 \w 
  4487. .if \n(46<\n(38 .nr 46 \n(38
  4488. .nr 38 \wcddevsuppl
  4489. .if \n(46<\n(38 .nr 46 \n(38
  4490. .46
  4491. .rm 46
  4492. .nr 47 0
  4493. .nr 38 \wDescription
  4494. .if \n(47<\n(38 .nr 47 \n(38
  4495. .nr 38 \w\_
  4496. .if \n(47<\n(38 .nr 47 \n(38
  4497. .nr 38 \w 
  4498. .if \n(47<\n(38 .nr 47 \n(38
  4499. .nr 38 \wRetrieve a System Use Field
  4500. .if \n(47<\n(38 .nr 47 \n(38
  4501. .nr 38 \w 
  4502. .if \n(47<\n(38 .nr 47 \n(38
  4503. .nr 38 \wSet and get major/minor numbers of a device file
  4504. .if \n(47<\n(38 .nr 47 \n(38
  4505. .47
  4506. .rm 47
  4507. .nr 38 1n
  4508. .nr 45 0
  4509. .nr 40 \n(45+((0*\n(38)/2)
  4510. .nr 46 +\n(40
  4511. .nr 41 \n(46+((6*\n(38)/2)
  4512. .nr 47 +\n(41
  4513. .nr TW \n(47
  4514. .if t .if (\n(TW+\n(.o)>7.65i .tm Table at line 1642 file Input is too wide - \n(TW units
  4515. .nr #I \n(.i
  4516. .in +(\n(.lu-\n(TWu-\n(.iu)/2u
  4517. .fc  
  4518. .nr #T 0-1
  4519. .nr #a 0-1
  4520. .eo
  4521. .de T#
  4522. .nr 35 1m
  4523. .ds #d .d
  4524. .if \(ts\n(.z\(ts\(ts .ds #d nl
  4525. .mk ##
  4526. .nr ## -1v
  4527. .ls 1
  4528. .ls
  4529. ..
  4530. .ec
  4531. .ta \n(46u \n(47u 
  4532. .nr 35 1m
  4533. .nr 31 \n(.f
  4534. \&\h'|\n(40u'Name\h'|\n(41u'Description
  4535. .ta \n(46u \n(47u 
  4536. .nr 36 \n(.v
  4537. .vs \n(.vu-\n(.sp
  4538. .nr 35 \n(.vu
  4539. .nr 31 \n(.f
  4540. \&\h'|\n(40u'\h'|\n(40u'\s\n(33\l'|\n(46u'\s0\h'|\n(41u'\h'|\n(41u'\s\n(33\l'|\n(47u'\s0
  4541. .vs \n(36u
  4542. .ta \n(46u \n(47u 
  4543. .nr 35 1m
  4544. .nr 31 \n(.f
  4545. \&\h'|\n(40u' \h'|\n(41u' 
  4546. .ta \n(46u \n(47u 
  4547. .nr 35 1m
  4548. .nr 31 \n(.f
  4549. \&\h'|\n(40u'cdsuf\h'|\n(41u'Retrieve a System Use Field
  4550. .ta \n(46u \n(47u 
  4551. .nr 35 1m
  4552. .nr 31 \n(.f
  4553. \&\h'|\n(40u' \h'|\n(41u' 
  4554. .ta \n(46u \n(47u 
  4555. .nr 35 1m
  4556. .nr 31 \n(.f
  4557. \&\h'|\n(40u'cddevsuppl\h'|\n(41u'Set and get major/minor numbers of a device file
  4558. .fc
  4559. .nr T. 1
  4560. .T# 1
  4561. .in \n(#Iu
  4562. .35
  4563. .TE
  4564. .if \n-(b.=0 .nr c. \n(.c-\n(d.-9
  4565. .sp
  4566. .bp
  4567. .sp
  4568. .H 3 "cdsuf command"
  4569. .sp
  4570. .in 0
  4571. .ft 3
  4572. NAME
  4573. .ft 1
  4574. .in 2
  4575. .br
  4576. .ft 3
  4577. cdsuf
  4578. .ft 1
  4579. - read the System Use Fields from a System Use Area
  4580. .sp
  4581. .in 0
  4582. .ft 3
  4583. SYNOPSIS
  4584. .ft 1
  4585. .in 2
  4586. .ft 3
  4587. .br
  4588. .ft 3
  4589. cdsuf 
  4590. .ft 1
  4591. [-s number]  [-b]  file
  4592. .sp
  4593. .in 0
  4594. .ft 3
  4595. DESCRIPTION
  4596. .ft 1
  4597. .in 2
  4598. .br
  4599. This command is used to access the System Use Fields of the System Use
  4600. Area associated with a File Section of a file or directory and to list
  4601. its contents on standard output, following any Continuation Fields that
  4602. may be present.
  4603. .sp
  4604. .in 0
  4605. .ft 3
  4606. OPTIONS
  4607. .ft 1
  4608. .in 2
  4609. .br
  4610. The following options are available:
  4611. .VL 15 5
  4612. .LI "\f3-s number\f1"
  4613. This option specifies the File Section for which the System Use Area shall
  4614. be read.
  4615. The numbering starts with one.
  4616. If this option is omitted the last File Section of that file is assumed.
  4617. .LI "\f3-b\f1"
  4618. With this option all of the System Use Fields of the System Use Area are 
  4619. copied from the CD-ROM to standard output in binary format.
  4620. .LE
  4621. .sp
  4622. .in 0
  4623. .ft 3
  4624. OPERAND
  4625. .ft 1
  4626. .in 2
  4627. .br
  4628. The operand
  4629. .I file\^
  4630. is the name of any file or directory within the CD-ROM file hierarchy.
  4631. .sp
  4632. .in 0
  4633. .ft 3
  4634. STDIN
  4635. .ft 1
  4636. .in 2
  4637. .br
  4638. Not Used.
  4639. .sp
  4640. .in 0
  4641. .ft 3
  4642. INPUT FILES
  4643. .ft 1
  4644. .in 2
  4645. .br
  4646. None.
  4647. .sp
  4648. .in 0
  4649. .ft 3
  4650. ENVIRONMENT VARIABLES
  4651. .ft 1
  4652. .in 2
  4653. .br
  4654. LC_TIME determines the format and contents of date and time strings. 
  4655. If LC_TIME is not set in the environment or is set to the empty string,
  4656. the value of LANG will be used as a default.
  4657. If LANG is not set or set to the empty string, the corresponding
  4658. value from the implementation-specific default locale will be used.
  4659. If LC_TIME or LANG contain an invalid setting, the utility will behave
  4660. as if none of the variables had been defined.
  4661. .sp
  4662. .in 0
  4663. .ft 3
  4664. STDOUT
  4665. .ft 1
  4666. .in 2
  4667. .br
  4668. The output is formatted in the form of a table which contains an entry
  4669. for each System Use Field in the System Use Area as recorded on the CD-ROM.
  4670. Each entry of the table shall have the fields
  4671. .I Signature,\^
  4672. .I Length,\^
  4673. .I Version,\^
  4674. and 
  4675. .I Data\^ 
  4676. as specified in the System Use Sharing Protocol.
  4677. Whether to break up the 
  4678. .I Data\^
  4679. field into smaller fields according to the protocol which defined the
  4680. .I Signature\^
  4681. field is left up to the implementation.
  4682. .sp
  4683. If the 
  4684. .ft 3
  4685. -b 
  4686. .ft 1
  4687. option is applied, the contents of the full System Use Area
  4688. are written to standard output in binary format as it is recorded on the CD-ROM.
  4689. .sp
  4690. .in 0
  4691. .ft 3
  4692. STDERR
  4693. .ft 1
  4694. .in 2
  4695. .br
  4696. Used only for diagnostic messages.
  4697. .sp
  4698. .in 0
  4699. .ft 3
  4700. OUTPUT FILES
  4701. .ft 1
  4702. .in 2
  4703. .br
  4704. None.
  4705. .sp
  4706. .in 0
  4707. .ft 3
  4708. EXIT STATUS
  4709. .ft 1
  4710. .in 2
  4711. .br
  4712. The following exit values are returned:
  4713. .sp
  4714. .VL 15 5
  4715. .LI "0"
  4716. successful completion
  4717. .LI "1"
  4718. file not found or file is not a file or directory within a CD-ROM file
  4719. hierarchy or access denied
  4720. .LI "2"
  4721. File Section indicated by -s does not exist
  4722. .LI "3"
  4723. File Section indicated by -s has no System Use Area
  4724. .LE
  4725. .sp
  4726. .in 0
  4727. .ft 3
  4728. CONSEQUENCES OF ERRORS
  4729. .ft 1
  4730. .in 2
  4731. .br
  4732. None.
  4733. .sp
  4734. .in 0
  4735. .ft 3
  4736. APPLICATION USAGE
  4737. .ft 1
  4738. .in 2
  4739. .br
  4740. The user must have read permission for
  4741. .I file\^
  4742. to execute the command successfully.
  4743. .sp
  4744. .in 0
  4745. .ft 3
  4746. EXAMPLES
  4747. .ft 1
  4748. .in 2
  4749. .br
  4750. None.
  4751. .sp
  4752. .in 0
  4753. .ft 3
  4754. FUTURE DIRECTIONS
  4755. .ft 1
  4756. .in 2
  4757. .br
  4758. None.
  4759. .sp
  4760. .in 0
  4761. .ft 3
  4762. SEE ALSO
  4763. .ft 1
  4764. .in 2
  4765. .br
  4766. None.
  4767. .sp
  4768. .in 0
  4769. .ft 3
  4770. CHANGE HISTORY
  4771. .ft 1
  4772. .in 2
  4773. .br
  4774. None.
  4775. .sp
  4776. .in 0
  4777. .bp
  4778. .sp
  4779. .H 3 "cddevsuppl command"
  4780. .sp
  4781. .in 0
  4782. .ft 3
  4783. NAME
  4784. .ft 1
  4785. .in 2
  4786. .br
  4787. .ft 3
  4788. cddevsuppl
  4789. .ft 1
  4790. - set and get the major and minor numbers of a device file
  4791. .sp
  4792. .in 0
  4793. .ft 3
  4794. SYNOPSIS
  4795. .ft 1
  4796. .in 2
  4797. .br
  4798. .ft 3
  4799. cddevsuppl
  4800. .ft 1
  4801. [-m mapfile | -u unmapfile]  [-c]
  4802. .sp
  4803. .in 0
  4804. .ft 3
  4805. DESCRIPTION
  4806. .ft 1
  4807. .in 2
  4808. .br
  4809. This command is used to map and unmap the major and minor numbers of a device
  4810. file on a mounted CD-ROM.
  4811. .sp
  4812. If
  4813. .I cddevsuppl\^
  4814. is executed without the
  4815. .ft 3
  4816. -m
  4817. .ft 1
  4818. or 
  4819. .ft 3
  4820. -u
  4821. .ft 1
  4822. option, it lists the current device file mappings
  4823. on the system.
  4824. .sp
  4825. The \f3-m mapfile\f1 and \f3-u unmapfile\f1 options are mutually exclusive.
  4826. .sp
  4827. .in 0
  4828. .ft 3
  4829. OPTIONS
  4830. .ft 1
  4831. .in 2
  4832. .br
  4833. The following options are available:
  4834. .VL 20 5
  4835. .LI "\f3-m mapfile\f1"
  4836. This option will map the major and minor numbers for device files.
  4837. The mappings are specified in
  4838. .I mapfile.\^
  4839. This file has one entry for each device file mapping in the format:
  4840. .sp
  4841. .TS
  4842. .if \n+(b.=1 .nr d. \n(.c-\n(c.-1
  4843. .de 35
  4844. .ps \n(.s
  4845. .vs \n(.vu
  4846. .in \n(.iu
  4847. .if \n(.u .fi
  4848. .if \n(.j .ad
  4849. .if \n(.j=0 .na
  4850. ..
  4851. .nf
  4852. .nr #~ 0
  4853. .if \n(.T .if n .nr #~ 0.6n
  4854. .ds #d .d
  4855. .if \(ts\n(.z\(ts\(ts .ds #d nl
  4856. .fc
  4857. .nr 33 \n(.s
  4858. .rm 48 49 50
  4859. .nr 48 0
  4860. .nr 38 \wdevice_file_path
  4861. .if \n(48<\n(38 .nr 48 \n(38
  4862. .48
  4863. .rm 48
  4864. .nr 49 0
  4865. .nr 38 \wnew_major
  4866. .if \n(49<\n(38 .nr 49 \n(38
  4867. .49
  4868. .rm 49
  4869. .nr 50 0
  4870. .nr 38 \wnew_minor
  4871. .if \n(50<\n(38 .nr 50 \n(38
  4872. .50
  4873. .rm 50
  4874. .nr 38 1n
  4875. .nr 47 0
  4876. .nr 40 \n(47+((0*\n(38)/2)
  4877. .nr 48 +\n(40
  4878. .nr 41 \n(48+((6*\n(38)/2)
  4879. .nr 49 +\n(41
  4880. .nr 42 \n(49+((6*\n(38)/2)
  4881. .nr 50 +\n(42
  4882. .nr TW \n(50
  4883. .if t .if (\n(TW+\n(.o)>7.65i .tm Table at line 1923 file Input is too wide - \n(TW units
  4884. .nr #I \n(.i
  4885. .in +(\n(.lu-\n(TWu-\n(.iu)/2u
  4886. .fc  
  4887. .nr #T 0-1
  4888. .nr #a 0-1
  4889. .eo
  4890. .de T#
  4891. .nr 35 1m
  4892. .ds #d .d
  4893. .if \(ts\n(.z\(ts\(ts .ds #d nl
  4894. .mk ##
  4895. .nr ## -1v
  4896. .ls 1
  4897. .ls
  4898. ..
  4899. .ec
  4900. .ta \n(48u \n(49u \n(50u 
  4901. .nr 35 1m
  4902. .nr 31 \n(.f
  4903. \&\h'|\n(40u'device_file_path\h'|\n(41u'new_major\h'|\n(42u'new_minor
  4904. .fc
  4905. .nr T. 1
  4906. .T# 1
  4907. .in \n(#Iu
  4908. .35
  4909. .TE
  4910. .if \n-(b.=0 .nr c. \n(.c-\n(d.-4
  4911. .sp
  4912. The fields are separated by white space.
  4913. The entries are separated by newlines.
  4914. Anything beyond the third field shall be treated as a comment.
  4915. .sp
  4916. The maximum number of mappings is defined in the header file
  4917. .I <sys/cdrom.h>.\^
  4918. A previous device file mapping for a specific device file is overridden 
  4919. if that device file that is mapped again.
  4920. .sp
  4921. .LI "\f3-u unmapfile\f1"
  4922. This option will unmap the major and minor numbers for device files.
  4923. The mappings are specified in
  4924. .I unmapfile.\^
  4925. This file has one entry for each device file mapping in the format:
  4926. .sp
  4927. .TS
  4928. .if \n+(b.=1 .nr d. \n(.c-\n(c.-1
  4929. .de 35
  4930. .ps \n(.s
  4931. .vs \n(.vu
  4932. .in \n(.iu
  4933. .if \n(.u .fi
  4934. .if \n(.j .ad
  4935. .if \n(.j=0 .na
  4936. ..
  4937. .nf
  4938. .nr #~ 0
  4939. .if \n(.T .if n .nr #~ 0.6n
  4940. .ds #d .d
  4941. .if \(ts\n(.z\(ts\(ts .ds #d nl
  4942. .fc
  4943. .nr 33 \n(.s
  4944. .rm 44
  4945. .nr 44 0
  4946. .nr 38 \wdevice_file_path
  4947. .if \n(44<\n(38 .nr 44 \n(38
  4948. .44
  4949. .rm 44
  4950. .nr 38 1n
  4951. .nr 43 0
  4952. .nr 40 \n(43+((0*\n(38)/2)
  4953. .nr 44 +\n(40
  4954. .nr TW \n(44
  4955. .if t .if (\n(TW+\n(.o)>7.65i .tm Table at line 1944 file Input is too wide - \n(TW units
  4956. .nr #I \n(.i
  4957. .in +(\n(.lu-\n(TWu-\n(.iu)/2u
  4958. .fc  
  4959. .nr #T 0-1
  4960. .nr #a 0-1
  4961. .eo
  4962. .de T#
  4963. .nr 35 1m
  4964. .ds #d .d
  4965. .if \(ts\n(.z\(ts\(ts .ds #d nl
  4966. .mk ##
  4967. .nr ## -1v
  4968. .ls 1
  4969. .ls
  4970. ..
  4971. .ec
  4972. .ta \n(44u 
  4973. .nr 35 1m
  4974. .nr 31 \n(.f
  4975. \&\h'|\n(40u'device_file_path
  4976. .fc
  4977. .nr T. 1
  4978. .T# 1
  4979. .in \n(#Iu
  4980. .35
  4981. .TE
  4982. .if \n-(b.=0 .nr c. \n(.c-\n(d.-4
  4983. .sp
  4984. The entries are separated by newlines.
  4985. Anything beyond the first field shall be treated as a comment.
  4986. .sp
  4987. .LI "\f3-c\f1"
  4988. This option is only useful when used in combination with the
  4989. \f3-m mapfile\f1 or \f3-u unmapfile\f1
  4990. options.
  4991. The
  4992. .ft 3
  4993. -c
  4994. .ft 1
  4995. option will cause
  4996. .I cddevsuppl\^
  4997. to continue processing the device file mappings if an error is returned
  4998. for a specific device file mapping.
  4999. An error message for that specific device file will be printed to
  5000. standard error.
  5001. The default action is to stop processing when an error has occurred.
  5002. .LE
  5003. .sp
  5004. .in 0
  5005. .ft 3
  5006. OPERAND
  5007. .ft 1
  5008. .in 2
  5009. .br
  5010. None.
  5011. .sp
  5012. .in 0
  5013. .ft 3
  5014. STDIN
  5015. .ft 1
  5016. .in 2
  5017. .br
  5018. Not used.
  5019. .sp
  5020. .in 0
  5021. .ft 3
  5022. INPUT FILES
  5023. .ft 1
  5024. .in 2
  5025. .br
  5026. The input files are text files.
  5027. .sp
  5028. .in 0
  5029. .ft 3
  5030. ENVIRONMENT VARIABLES
  5031. .ft 1
  5032. .in 2
  5033. .br
  5034. No environment variables affect the execution of
  5035. .I cddevsuppl.\^
  5036. Note that LC_CTYPE will not be used in filename conversion.
  5037. .sp
  5038. .in 0
  5039. .ft 3
  5040. STDOUT
  5041. .ft 1
  5042. .in 2
  5043. .br
  5044. If no options are used the current device file mappings are listed on
  5045. standard output.
  5046. In the case of \f3-m mapfile\f1, the new setting is listed
  5047. if the mapping was completed successfully.
  5048. In the case of \f3-u unmapfile\f1, the device file and
  5049. the major/minor numbers as recorded on the CD-ROM are listed if
  5050. the unmapping was completed successfully.
  5051. .sp
  5052. .in 0
  5053. .ft 3
  5054. STDERR
  5055. .ft 1
  5056. .in 2
  5057. .br
  5058. Used only for diagnostic messages.
  5059. .sp
  5060. .in 0
  5061. .ft 3
  5062. OUTPUT FILES
  5063. .ft 1
  5064. .in 2
  5065. .br
  5066. None.
  5067. .sp
  5068. .in 0
  5069. .ft 3
  5070. EXIT STATUS
  5071. .ft 1
  5072. .in 2
  5073. .br
  5074. The following exit values are returned:
  5075. .sp
  5076. .VL 15 5
  5077. .LI "0"
  5078. successful completion
  5079. .LI "1"
  5080. file not found or file is not a file or directory within a CD-ROM file
  5081. hierarchy or access denied
  5082. .LI "2"
  5083. not user with appropriate privileges
  5084. .LI "3"
  5085. too many mappings
  5086. .LI "4"
  5087. parameter error or bad format in a mapping file
  5088. .LI "5"
  5089. file is not a device file
  5090. .LI "6"
  5091. file not previously mapped
  5092. .LE
  5093. .sp
  5094. .in 0
  5095. .ft 3
  5096. CONSEQUENCES OF ERRORS
  5097. .ft 1
  5098. .in 2
  5099. .br
  5100. None.
  5101. .sp
  5102. .in 0
  5103. .ft 3
  5104. APPLICATION USAGE
  5105. .ft 1
  5106. .in 2
  5107. .br
  5108. Only a user with appropriate privileges may change administrative CD-ROM
  5109. features successfully.
  5110. To read the current device file mappings, the user must have read
  5111. permission on the device file.
  5112. .sp
  5113. Mappings should be established before affected device files are used.
  5114. If the command is applied for device file mappings when device files 
  5115. have already been opened, the
  5116. effect of this command on these files is undefined.
  5117. .sp
  5118. The device file mappings for a mounted CD-ROM are eliminated when the
  5119. CD-ROM is unmounted.
  5120. .sp
  5121. .in 0
  5122. .ft 3
  5123. EXAMPLES
  5124. .ft 1
  5125. .in 2
  5126. .br
  5127. None.
  5128. .sp
  5129. .in 0
  5130. .ft 3
  5131. FUTURE DIRECTIONS
  5132. .ft 1
  5133. .in 2
  5134. .br
  5135. None.
  5136. .sp
  5137. .in 0
  5138. .ft 3
  5139. SEE ALSO
  5140. .ft 1
  5141. .in 2
  5142. .br
  5143. None.
  5144. .sp
  5145. .in 0
  5146. .ft 3
  5147. CHANGE HISTORY
  5148. .ft 1
  5149. .in 2
  5150. .br
  5151. None.
  5152. .sp
  5153. .in 0
  5154. .bp
  5155. .sp
  5156. .H 2 "Definition of CD-ROM Specific Library Functions for Users"
  5157. .sp
  5158. This sections provides manual pages which describe CD-ROM library functions
  5159. for users in detail.
  5160. The library routines are:
  5161. .sp
  5162. .TS
  5163. .if \n+(b.=1 .nr d. \n(.c-\n(c.-1
  5164. .de 35
  5165. .ps \n(.s
  5166. .vs \n(.vu
  5167. .in \n(.iu
  5168. .if \n(.u .fi
  5169. .if \n(.j .ad
  5170. .if \n(.j=0 .na
  5171. ..
  5172. .nf
  5173. .nr #~ 0
  5174. .if \n(.T .if n .nr #~ 0.6n
  5175. .ds #d .d
  5176. .if \(ts\n(.z\(ts\(ts .ds #d nl
  5177. .fc
  5178. .nr 33 \n(.s
  5179. .rm 46 47
  5180. .nr 46 0
  5181. .nr 38 \wName
  5182. .if \n(46<\n(38 .nr 46 \n(38
  5183. .nr 38 \w\_
  5184. .if \n(46<\n(38 .nr 46 \n(38
  5185. .nr 38 \w 
  5186. .if \n(46<\n(38 .nr 46 \n(38
  5187. .nr 38 \wcd_suf()
  5188. .if \n(46<\n(38 .nr 46 \n(38
  5189. .nr 38 \w 
  5190. .if \n(46<\n(38 .nr 46 \n(38
  5191. .nr 38 \wcd_setdevmap()
  5192. .if \n(46<\n(38 .nr 46 \n(38
  5193. .nr 38 \w 
  5194. .if \n(46<\n(38 .nr 46 \n(38
  5195. .nr 38 \wcd_getdevmap()
  5196. .if \n(46<\n(38 .nr 46 \n(38
  5197. .46
  5198. .rm 46
  5199. .nr 47 0
  5200. .nr 38 \wDescription
  5201. .if \n(47<\n(38 .nr 47 \n(38
  5202. .nr 38 \w\_
  5203. .if \n(47<\n(38 .nr 47 \n(38
  5204. .nr 38 \w 
  5205. .if \n(47<\n(38 .nr 47 \n(38
  5206. .nr 38 \wRetrieve a System Use Field
  5207. .if \n(47<\n(38 .nr 47 \n(38
  5208. .nr 38 \w 
  5209. .if \n(47<\n(38 .nr 47 \n(38
  5210. .nr 38 \wSet mappings of major/minor numbers
  5211. .if \n(47<\n(38 .nr 47 \n(38
  5212. .nr 38 \w 
  5213. .if \n(47<\n(38 .nr 47 \n(38
  5214. .nr 38 \wGet mappings of major/minor numbers
  5215. .if \n(47<\n(38 .nr 47 \n(38
  5216. .47
  5217. .rm 47
  5218. .nr 38 1n
  5219. .nr 45 0
  5220. .nr 40 \n(45+((0*\n(38)/2)
  5221. .nr 46 +\n(40
  5222. .nr 41 \n(46+((6*\n(38)/2)
  5223. .nr 47 +\n(41
  5224. .nr TW \n(47
  5225. .if t .if (\n(TW+\n(.o)>7.65i .tm Table at line 2135 file Input is too wide - \n(TW units
  5226. .nr #I \n(.i
  5227. .in +(\n(.lu-\n(TWu-\n(.iu)/2u
  5228. .fc  
  5229. .nr #T 0-1
  5230. .nr #a 0-1
  5231. .eo
  5232. .de T#
  5233. .nr 35 1m
  5234. .ds #d .d
  5235. .if \(ts\n(.z\(ts\(ts .ds #d nl
  5236. .mk ##
  5237. .nr ## -1v
  5238. .ls 1
  5239. .ls
  5240. ..
  5241. .ec
  5242. .ta \n(46u \n(47u 
  5243. .nr 35 1m
  5244. .nr 31 \n(.f
  5245. \&\h'|\n(40u'Name\h'|\n(41u'Description
  5246. .ta \n(46u \n(47u 
  5247. .nr 36 \n(.v
  5248. .vs \n(.vu-\n(.sp
  5249. .nr 35 \n(.vu
  5250. .nr 31 \n(.f
  5251. \&\h'|\n(40u'\h'|\n(40u'\s\n(33\l'|\n(46u'\s0\h'|\n(41u'\h'|\n(41u'\s\n(33\l'|\n(47u'\s0
  5252. .vs \n(36u
  5253. .ta \n(46u \n(47u 
  5254. .nr 35 1m
  5255. .nr 31 \n(.f
  5256. \&\h'|\n(40u' \h'|\n(41u' 
  5257. .ta \n(46u \n(47u 
  5258. .nr 35 1m
  5259. .nr 31 \n(.f
  5260. \&\h'|\n(40u'cd_suf()\h'|\n(41u'Retrieve a System Use Field
  5261. .ta \n(46u \n(47u 
  5262. .nr 35 1m
  5263. .nr 31 \n(.f
  5264. \&\h'|\n(40u' \h'|\n(41u' 
  5265. .ta \n(46u \n(47u 
  5266. .nr 35 1m
  5267. .nr 31 \n(.f
  5268. \&\h'|\n(40u'cd_setdevmap()\h'|\n(41u'Set mappings of major/minor numbers
  5269. .ta \n(46u \n(47u 
  5270. .nr 35 1m
  5271. .nr 31 \n(.f
  5272. \&\h'|\n(40u' \h'|\n(41u' 
  5273. .ta \n(46u \n(47u 
  5274. .nr 35 1m
  5275. .nr 31 \n(.f
  5276. \&\h'|\n(40u'cd_getdevmap()\h'|\n(41u'Get mappings of major/minor numbers
  5277. .fc
  5278. .nr T. 1
  5279. .T# 1
  5280. .in \n(#Iu
  5281. .35
  5282. .TE
  5283. .if \n-(b.=0 .nr c. \n(.c-\n(d.-11
  5284. .sp
  5285. .bp
  5286. .sp
  5287. .H 3 "cd_suf library routine"
  5288. .sp
  5289. .in 0
  5290. .ft 3
  5291. NAME
  5292. .ft 1
  5293. .br
  5294. .in 2
  5295. .ft 3
  5296. cd_suf 
  5297. .ft 1
  5298. - read System Use Field from a specified System Use Area
  5299. .sp
  5300. .in 0
  5301. .ft 3
  5302. SYNOPSIS
  5303. .ft 1
  5304. .in 2
  5305. .ft 3
  5306. .br
  5307. #include <sys/cdrom.h>
  5308. .sp
  5309. int cd_suf (path, fsec, signature, index, buf, buflen)
  5310. .br
  5311. char    *path;
  5312. .br
  5313. int    fsec;
  5314. .br
  5315. char    signature[2];
  5316. .br
  5317. int    index;
  5318. .br
  5319. char    *buf;
  5320. .br
  5321. int    buflen;
  5322. .sp
  5323. .ft 1
  5324. .in 0
  5325. .ft 3
  5326. DESCRIPTION
  5327. .ft 1
  5328. .in 2
  5329. .br
  5330. .I Cd_suf\^
  5331. returns a System Use Field in the System Use Area for
  5332. .I path.\^
  5333. .sp
  5334. .I Path\^
  5335. points to a file or directory within the CD-ROM file hierarchy.
  5336. .sp
  5337. .I Fsec\^
  5338. specifies the File Section of that file. 
  5339. The numbering starts with one.
  5340. If
  5341. .I fsec\^
  5342. is set to -1, the System Use Area of the last File Section of that file
  5343. is assumed.
  5344. .sp
  5345. .I Signature\^
  5346. is the 2 byte signature to look for and return from the System Use Area.
  5347. .sp
  5348. .I Index\^
  5349. is the occurrence of
  5350. .I signature\^ 
  5351. to return.
  5352. If
  5353. .I signature\^
  5354. is a NULL pointer, return the
  5355. .I index\^
  5356. System Use Field starting from the beginning of the System Use Area.
  5357. Otherwise, return the
  5358. .I index\^
  5359. occurrence of
  5360. .I signature.\^
  5361. The
  5362. .I index\^
  5363. number of the first System Use Field of any
  5364. .I signature\^
  5365. is one.
  5366. .sp
  5367. .I Buf\^
  5368. and
  5369. .I buflen\^
  5370. are the buffer and buffer length in which to place the System Use Field.
  5371. .sp
  5372. .in 0
  5373. .ft 3
  5374. RETURN VALUE
  5375. .ft 1
  5376. .in 2
  5377. .br
  5378. .I Cd_suf\^
  5379. will return the number of bytes placed in
  5380. .I buf\^
  5381. if successful.
  5382. .I Cd_suf\^
  5383. will return 0 if the
  5384. .I signature\^
  5385. field is not found.
  5386. In case of error, -1 is returned and
  5387. .I errno\^
  5388. is set to indicate the error.
  5389. .sp
  5390. .in 0
  5391. .ft 3
  5392. ERRORS
  5393. .ft 1
  5394. .in 2
  5395. .br
  5396. The 
  5397. .I cd_suf()\^
  5398. function will fail if:
  5399. .sp
  5400. .VL 15
  5401. .LI "[EACCESS]"
  5402. Search permission is denied for a component of the
  5403. .I path\^
  5404. prefix or read permission on the file or directory pointed to by
  5405. .I path\^
  5406. is denied.
  5407. .LI "[ENAMETOOLONG]"
  5408. The length of the
  5409. .I path\^
  5410. string exceeds {PATH_MAX} or a pathname component is longer than
  5411. {NAME_MAX} while {_POSIX_NO_TRUNC} is in effect.
  5412. .LI "[ENOENT]"
  5413. A component of
  5414. .I path\^
  5415. does not exist or the
  5416. .I path\^
  5417. argument points to an empty string.
  5418. .br
  5419. The File Section indicated by 
  5420. .I fsec\^
  5421. has no System Use Area.
  5422. .LI "[ENOTDIR]"
  5423. A component of the
  5424. .I path\^
  5425. prefix is not a directory.
  5426. .LI "[EFAULT]"
  5427. The address of
  5428. .I buf,\^
  5429. .I signature\^
  5430. or
  5431. .I path\^
  5432. is invalid.
  5433. .LI "[EINVAL]"
  5434. The value of
  5435. .I fsec,\^
  5436. .I index\^
  5437. or
  5438. .I buflen\^
  5439. is invalid.
  5440. .br
  5441. The argument
  5442. .I path\^
  5443. points to a file/directory not within a CD-ROM file hierarchy.
  5444. .LI "[ENODEV]"
  5445. The Volume containing the File Section indicated by
  5446. .I fsec\^
  5447. is not mounted.
  5448. .LI "[ENXIO]"
  5449. The CD-ROM is not in the drive or a read error occurred.
  5450. .LI "[EINTR]"
  5451. A signal was caught during the 
  5452. .I cd_suf()\^
  5453. function.
  5454. .LI "[EMFILE]"
  5455. {OPEN_MAX} file descriptors are currently open in the calling process.
  5456. .LI "[ENFILE]"
  5457. The system file table is full.
  5458. .LE
  5459. .sp
  5460. .in 0
  5461. .ft 3
  5462. SEE ALSO
  5463. .ft 1
  5464. .in 2
  5465. .br
  5466. <sys/cdrom.h>
  5467. .sp
  5468. .in 0
  5469. .bp
  5470. .sp
  5471. .H 3 "cd_setdevmap library routine"
  5472. .sp
  5473. .in 0
  5474. .ft 3
  5475. NAME
  5476. .ft 1
  5477. .in 2
  5478. .br
  5479. .ft 3
  5480. cd_setdevmap 
  5481. .ft 1
  5482. - set mappings of major/minor numbers
  5483. .sp
  5484. .in 0
  5485. .ft 3
  5486. SYNOPSIS
  5487. .ft 1
  5488. .in 2
  5489. .ft 3
  5490. .br
  5491. #include <sys/cdrom.h>
  5492. .sp
  5493. int cd_setdevmap (path, cmd, new_major, new_minor)
  5494. .br
  5495. char    *path;
  5496. .br
  5497. int    cmd;
  5498. .br
  5499. int    *new_major;
  5500. .br
  5501. int    *new_minor;
  5502. .sp
  5503. .ft 1
  5504. .in 0
  5505. .ft 3
  5506. DESCRIPTION
  5507. .ft 1
  5508. .in 2
  5509. .br
  5510. This function sets or unsets (based on
  5511. .I cmd\^)
  5512. the major and minor numbers of one device file on a mounted CD-ROM.
  5513. The argument
  5514. .I path\^
  5515. points to a file or directory within the CD-ROM file hierarchy.
  5516. .sp
  5517. If 
  5518. .I cmd\^
  5519. is CD_SETDMAP, this function maps the
  5520. .I new_major
  5521. major number and the
  5522. .I new_minor
  5523. minor number to the device file pointed to by
  5524. .I path.
  5525. .I New_major\^
  5526. specifies the new major number for the device file.
  5527. .I New_minor\^
  5528. specifies the new minor number for the device file.
  5529. Any device file mapping for the device file
  5530. .I path\^
  5531. set with a previous invocation of
  5532. .I cd_setdevmap()\^
  5533. is overridden by this invocation of
  5534. .I cd_setdevmap().\^
  5535. .sp
  5536. If 
  5537. .I cmd\^
  5538. is CD_UNSETDMAP, this function unmaps the mapped major and 
  5539. minor numbers of the device file pointed to by
  5540. .I path.\^
  5541. The value of the recorded major number on the CD-ROM shall be returned in
  5542. .I new_major.\^
  5543. The value of the recorded minor number on the CD-ROM shall be returned in
  5544. .I new_minor.\^
  5545. .sp
  5546. See 
  5547. .ft 3
  5548. Section 1.1, Mapping Device Files 
  5549. .ft 1
  5550. for further information.
  5551. .sp
  5552. .in 0
  5553. .ft 3
  5554. RETURN VALUE
  5555. .ft 1
  5556. .in 2
  5557. .br
  5558. For CD_SETDMAP,
  5559. .I cd_setdevmap\^
  5560. will return one if the device file is successfully mapped 
  5561. (a return value of zero means no more mappings allowed).
  5562. .sp
  5563. For CD_UNSETDMAP,
  5564. .I cd_setdevmap\^
  5565. will return one if the device file is successfully unmapped 
  5566. (a return value of zero means mapping not found).
  5567. .sp
  5568. In case of error, -1 is returned and
  5569. .I errno\^
  5570. is set to indicate the error.
  5571. .sp
  5572. .in 0
  5573. .ft 3
  5574. ERRORS
  5575. .ft 1
  5576. .in 2
  5577. .br
  5578. .VL 15
  5579. .LI "[EACCESS]"
  5580. Search permission is denied for a component of the
  5581. .I path\^
  5582. prefix or read permission on the device file pointed to by
  5583. .I path\^
  5584. is denied.
  5585. .LI "[ENAMETOOLONG]"
  5586. The length of the
  5587. .I path\^
  5588. string exceeds {PATH_MAX} or a pathname component is longer than
  5589. {NAME_MAX} while {_POSIX_NO_TRUNC} is in effect.
  5590. .LI "[ENOENT]"
  5591. A component of
  5592. .I path\^
  5593. does not exist or the
  5594. .I path\^
  5595. argument points to an empty string.
  5596. .LI "[ENOTDIR]"
  5597. A component of the
  5598. .I path\^
  5599. prefix is not a directory.
  5600. .LI "[EFAULT]"
  5601. The address of
  5602. .I path,\^
  5603. .I new_major,\^
  5604. or
  5605. .I new_minor\^
  5606. is invalid.
  5607. .LI "[EINVAL]"
  5608. The value of
  5609. .I cmd\^
  5610. is invalid.
  5611. .br
  5612. The argument
  5613. .I path\^
  5614. points to a file/directory not within a CD-ROM file hierarchy.
  5615. .br
  5616. The file pointed to by
  5617. .I path\^
  5618. is not a device file.
  5619. .LI "[EPERM]"
  5620. User does not have appropriate privileges to set/unset device file
  5621. major/minor values.
  5622. .LI "[ENXIO]"
  5623. The CD-ROM is not in the drive or a read error occurred.
  5624. .LI "[EINTR]"
  5625. A signal was caught during the 
  5626. .I cd_setdevmap()\^
  5627. function.
  5628. .LI "[EMFILE]"
  5629. {OPEN_MAX} file descriptors are currently open in the calling process.
  5630. .LI "[ENFILE]"
  5631. The system file table is full.
  5632. .LE
  5633. .sp
  5634. .in 0
  5635. .ft 3
  5636. APPLICATION USAGE
  5637. .ft 1
  5638. .in 2
  5639. .br
  5640. The use of
  5641. .I cd_setdevmap()\^
  5642. is restricted to a user with appropriate privileges.
  5643. The maximum number of mappings is defined in
  5644. .I <sys/cdrom.h>.\^
  5645. Mappings should be established before affected device files are used.
  5646. If this function is applied for device files that have already been opened,
  5647. the effect of this function on these files is undefined. 
  5648. The device file mappings for a mounted CD-ROM are eliminated when the 
  5649. CD-ROM is unmounted.
  5650. .sp
  5651. .in 0
  5652. .ft 3
  5653. SEE ALSO
  5654. .ft 1
  5655. .in 2
  5656. .br
  5657. <sys/cdrom.h>
  5658. .sp
  5659. .in 0
  5660. .bp
  5661. .sp
  5662. .H 3 "cd_getdevmap library routine"
  5663. .sp
  5664. .in 0
  5665. .ft 3
  5666. NAME
  5667. .ft 1
  5668. .in 2
  5669. .br
  5670. .ft 3
  5671. cd_getdevmap 
  5672. .ft 1
  5673. - get mappings of major/minor numbers
  5674. .sp
  5675. .in 0
  5676. .ft 3
  5677. SYNOPSIS
  5678. .ft 1
  5679. .in 2
  5680. .ft 3
  5681. .br
  5682. #include <sys/cdrom.h>
  5683. .sp
  5684. int cd_getdevmap (path, pathlen, index, new_major, new_minor)
  5685. .br
  5686. char    *path;
  5687. .br
  5688. int    pathlen;
  5689. .br
  5690. int    index;
  5691. .br
  5692. int    *new_major;
  5693. .br
  5694. int    *new_minor;
  5695. .sp
  5696. .ft 1
  5697. .in 0
  5698. .ft 3
  5699. DESCRIPTION
  5700. .ft 1
  5701. .in 2
  5702. .br
  5703. This function gets
  5704. the major and minor numbers of one device file on a mounted CD-ROM.
  5705. The argument
  5706. .I path\^
  5707. points to a file or directory within the CD-ROM file hierarchy.
  5708. The argument
  5709. .I index\^
  5710. refers to the \f2index\f1'th mapped device file.
  5711. Mappings can be obtained by
  5712. .I path\^
  5713. or 
  5714. .I index.\^
  5715. .sp
  5716. If 
  5717. .I index\^
  5718. is zero, this function gets the mapped major and minor numbers
  5719. of the device file pointed to by
  5720. .I path.\^
  5721. The value of the mapped major number shall be returned in
  5722. .I new_major.\^
  5723. The value of the mapped minor number shall be returned in
  5724. .I new_minor.\^
  5725. The value of
  5726. .I pathlen\^
  5727. is not used.
  5728. .sp
  5729. If 
  5730. .I index\^
  5731. is not zero, this function gets the major and minor numbers
  5732. and pathname of the \f2index\f1'th mapped device file.
  5733. Numbering for
  5734. .I index\^
  5735. starts at one.
  5736. The value of the mapped major number shall be returned in
  5737. .I new_major.\^
  5738. The value of the mapped minor number shall be returned in
  5739. .I new_minor.\^
  5740. The pathname of the device file shall be returned in
  5741. .I path.\^
  5742. If the length of the pathname for the device file is longer than
  5743. .I pathlen\^
  5744. the pathname returned in
  5745. .I path\^
  5746. will be truncated to
  5747. .I pathlen\^
  5748. length and will not be NULL terminated.
  5749. .sp
  5750. See 
  5751. .ft 3
  5752. Section 1.1, Mapping Device Files 
  5753. .ft 1
  5754. for further information.
  5755. .sp
  5756. .in 0
  5757. .ft 3
  5758. RETURN VALUE
  5759. .ft 1
  5760. .in 2
  5761. .br
  5762. .I cd_getdevmap\^
  5763. will return the length of pathname if the device file is 
  5764. successfully returned
  5765. (a return value of zero means mapping not found).
  5766. Note: if the pathname is truncated, the return value will be
  5767. larger than
  5768. .I pathlen.\^
  5769. .sp
  5770. In case of error, -1 is returned and
  5771. .I errno\^
  5772. is set to indicate the error.
  5773. .sp
  5774. .in 0
  5775. .ft 3
  5776. ERRORS
  5777. .ft 1
  5778. .in 2
  5779. .br
  5780. .VL 15
  5781. .LI "[EACCESS]"
  5782. Search permission is denied for a component of the
  5783. .I path\^
  5784. prefix or read permission on the device file pointed to by
  5785. .I path\^
  5786. is denied.
  5787. .LI "[ENAMETOOLONG]"
  5788. The length of the
  5789. .I path\^
  5790. string exceeds {PATH_MAX} or a pathname component is longer than
  5791. {NAME_MAX} while {_POSIX_NO_TRUNC} is in effect.
  5792. .LI "[ENOENT]"
  5793. A component of
  5794. .I path\^
  5795. does not exist or the
  5796. .I path\^
  5797. argument points to an empty string.
  5798. .LI "[ENOTDIR]"
  5799. A component of the
  5800. .I path\^
  5801. prefix is not a directory.
  5802. .LI "[EFAULT]"
  5803. The address of
  5804. .I path,\^
  5805. .I new_major,\^
  5806. or
  5807. .I new_minor\^
  5808. is invalid.
  5809. .LI "[EINVAL]"
  5810. The value of
  5811. .I index\^
  5812. or
  5813. .I pathlen\^
  5814. is invalid.
  5815. .br
  5816. The argument
  5817. .I path\^
  5818. points to a file/directory not within a CD-ROM file hierarchy.
  5819. .br
  5820. The file pointed to by
  5821. .I path\^
  5822. is not a device file.
  5823. .LI "[ENXIO]"
  5824. The CD-ROM is not in the drive or a read error occurred.
  5825. .LI "[EINTR]"
  5826. A signal was caught during the 
  5827. .I cd_getdevmap()\^
  5828. function.
  5829. .LI "[EMFILE]"
  5830. {OPEN_MAX} file descriptors are currently open in the calling process.
  5831. .LI "[ENFILE]"
  5832. The system file table is full.
  5833. .LE
  5834. .sp
  5835. .in 0
  5836. .ft 3
  5837. APPLICATION USAGE
  5838. .ft 1
  5839. .in 2
  5840. .br
  5841. The maximum number of mappings is defined in
  5842. .I <sys/cdrom.h>.\^
  5843. The device file mappings for a mounted CD-ROM are undone when the 
  5844. CD-ROM is unmounted.
  5845. .sp
  5846. The
  5847. .I index\^
  5848. numbers from 1 to
  5849. .I n\^
  5850. (where
  5851. .I n\^
  5852. is the number of the last device file mapping)
  5853. are always guaranteed to have a device file mapping associated
  5854. with the number.
  5855. Thus if an application wishes to successively delete all
  5856. device file mappings, one at a time, it would call 
  5857. .I cd_getdevmap()\^
  5858. with
  5859. .I index\^
  5860. equal to 1, and then
  5861. .I cd_setdevmap()\^
  5862. with CD_UNSETDMAP in a loop until 
  5863. .I cd_getdevmap()\^
  5864. returns zero.
  5865. .sp
  5866. .in 0
  5867. .ft 3
  5868. SEE ALSO
  5869. .ft 1
  5870. .in 2
  5871. .br
  5872. <sys/cdrom.h>
  5873. .sp
  5874. .in 0
  5875. .bp
  5876. .sp
  5877. .H 2 "Header"
  5878. .sp
  5879. .in 0
  5880. .ft 3
  5881. NAME
  5882. .ft 1
  5883. .br
  5884. .in 2
  5885. .ft 3
  5886. cdrom.h 
  5887. .ft 1
  5888. - RRIP definitions
  5889. .sp
  5890. .in 0
  5891. .ft 3
  5892. SYNOPSIS
  5893. .ft 1
  5894. .in 2
  5895. .ft 3
  5896. .br
  5897. #include <sys/cdrom.h>
  5898. .sp
  5899. .ft 1
  5900. .in 0
  5901. .ft 3
  5902. DESCRIPTION
  5903. .ft 1
  5904. .in 2
  5905. .br
  5906. The
  5907. .I cdrom.h\^
  5908. header contains the RRIP constant definitions for the RRIP library functions.
  5909. If XCDR is supported, this header file will also contain
  5910. the XCDR constants and structure declarations for the XCDR library functions.
  5911. .sp
  5912. The function
  5913. .I cd_setdevmap()\^
  5914. uses the following values for the argument
  5915. .I cmd:\^
  5916. .sp
  5917. .TS
  5918. .if \n+(b.=1 .nr d. \n(.c-\n(c.-1
  5919. .de 35
  5920. .ps \n(.s
  5921. .vs \n(.vu
  5922. .in \n(.iu
  5923. .if \n(.u .fi
  5924. .if \n(.j .ad
  5925. .if \n(.j=0 .na
  5926. ..
  5927. .nf
  5928. .nr #~ 0
  5929. .if \n(.T .if n .nr #~ 0.6n
  5930. .ds #d .d
  5931. .if \(ts\n(.z\(ts\(ts .ds #d nl
  5932. .fc
  5933. .nr 33 \n(.s
  5934. .rm 46 47
  5935. .nr 46 0
  5936. .nr 38 \wCD_SETDMAP
  5937. .if \n(46<\n(38 .nr 46 \n(38
  5938. .nr 38 \wCD_UNSETDMAP
  5939. .if \n(46<\n(38 .nr 46 \n(38
  5940. .46
  5941. .rm 46
  5942. .nr 47 0
  5943. .nr 38 \wSet device file mapping
  5944. .if \n(47<\n(38 .nr 47 \n(38
  5945. .nr 38 \wUnset device file mapping
  5946. .if \n(47<\n(38 .nr 47 \n(38
  5947. .47
  5948. .rm 47
  5949. .nr 38 1n
  5950. .nr 45 0
  5951. .nr 40 \n(45+((0*\n(38)/2)
  5952. .nr 46 +\n(40
  5953. .nr 41 \n(46+((6*\n(38)/2)
  5954. .nr 47 +\n(41
  5955. .nr TW \n(47
  5956. .if t .if (\n(TW+\n(.o)>7.65i .tm Table at line 2774 file Input is too wide - \n(TW units
  5957. .nr #I \n(.i
  5958. .in +(\n(.lu-\n(TWu-\n(.iu)/2u
  5959. .fc  
  5960. .nr #T 0-1
  5961. .nr #a 0-1
  5962. .eo
  5963. .de T#
  5964. .nr 35 1m
  5965. .ds #d .d
  5966. .if \(ts\n(.z\(ts\(ts .ds #d nl
  5967. .mk ##
  5968. .nr ## -1v
  5969. .ls 1
  5970. .ls
  5971. ..
  5972. .ec
  5973. .ta \n(46u \n(47u 
  5974. .nr 35 1m
  5975. .nr 31 \n(.f
  5976. \&\h'|\n(40u'CD_SETDMAP\h'|\n(41u'Set device file mapping
  5977. .ta \n(46u \n(47u 
  5978. .nr 35 1m
  5979. .nr 31 \n(.f
  5980. \&\h'|\n(40u'CD_UNSETDMAP\h'|\n(41u'Unset device file mapping
  5981. .fc
  5982. .nr T. 1
  5983. .T# 1
  5984. .in \n(#Iu
  5985. .35
  5986. .TE
  5987. .if \n-(b.=0 .nr c. \n(.c-\n(d.-5
  5988. .sp
  5989. If an implementation imposes a limit on the number of device file mappings,
  5990. they will be defined by the following symbolic name.
  5991. The definition of this symbolic name may be omitted from
  5992. .I <sys/cdrom.h>\^
  5993. if the actual value of the limit is indeterminate but greater than
  5994. the stated minimum.
  5995. Applications should therefore only use this symbol in code
  5996. conditionally compiled on the existence of this symbol.
  5997. .sp
  5998. .TS
  5999. .if \n+(b.=1 .nr d. \n(.c-\n(c.-1
  6000. .de 35
  6001. .ps \n(.s
  6002. .vs \n(.vu
  6003. .in \n(.iu
  6004. .if \n(.u .fi
  6005. .if \n(.j .ad
  6006. .if \n(.j=0 .na
  6007. ..
  6008. .nf
  6009. .nr #~ 0
  6010. .if \n(.T .if n .nr #~ 0.6n
  6011. .ds #d .d
  6012. .if \(ts\n(.z\(ts\(ts .ds #d nl
  6013. .fc
  6014. .nr 33 \n(.s
  6015. .rm 46 47
  6016. .nr 46 0
  6017. .nr 38 \wName
  6018. .if \n(46<\n(38 .nr 46 \n(38
  6019. .nr 38 \w\_
  6020. .if \n(46<\n(38 .nr 46 \n(38
  6021. .nr 38 \wCD_MAXDMAP
  6022. .if \n(46<\n(38 .nr 46 \n(38
  6023. .46
  6024. .rm 46
  6025. .nr 47 0
  6026. .nr 38 \wMinimum Acceptable Value
  6027. .if \n(47<\n(38 .nr 47 \n(38
  6028. .nr 38 \w\_
  6029. .if \n(47<\n(38 .nr 47 \n(38
  6030. .nr 38 \w50
  6031. .if \n(47<\n(38 .nr 47 \n(38
  6032. .47
  6033. .rm 47
  6034. .nr 38 1n
  6035. .nr 45 0
  6036. .nr 40 \n(45+((0*\n(38)/2)
  6037. .nr 46 +\n(40
  6038. .nr 41 \n(46+((6*\n(38)/2)
  6039. .nr 47 +\n(41
  6040. .nr TW \n(47
  6041. .if t .if (\n(TW+\n(.o)>7.65i .tm Table at line 2791 file Input is too wide - \n(TW units
  6042. .nr #I \n(.i
  6043. .in +(\n(.lu-\n(TWu-\n(.iu)/2u
  6044. .fc  
  6045. .nr #T 0-1
  6046. .nr #a 0-1
  6047. .eo
  6048. .de T#
  6049. .nr 35 1m
  6050. .ds #d .d
  6051. .if \(ts\n(.z\(ts\(ts .ds #d nl
  6052. .mk ##
  6053. .nr ## -1v
  6054. .ls 1
  6055. .ls
  6056. ..
  6057. .ec
  6058. .ta \n(46u \n(47u 
  6059. .nr 35 1m
  6060. .nr 31 \n(.f
  6061. \&\h'|\n(40u'Name\h'|\n(41u'Minimum Acceptable Value
  6062. .ta \n(46u \n(47u 
  6063. .nr 36 \n(.v
  6064. .vs \n(.vu-\n(.sp
  6065. .nr 35 \n(.vu
  6066. .nr 31 \n(.f
  6067. \&\h'|\n(40u'\h'|\n(40u'\s\n(33\l'|\n(46u'\s0\h'|\n(41u'\h'|\n(41u'\s\n(33\l'|\n(47u'\s0
  6068. .vs \n(36u
  6069. .ta \n(46u \n(47u 
  6070. .nr 35 1m
  6071. .nr 31 \n(.f
  6072. \&\h'|\n(40u'CD_MAXDMAP\h'|\n(41u'50
  6073. .fc
  6074. .nr T. 1
  6075. .T# 1
  6076. .in \n(#Iu
  6077. .35
  6078. .TE
  6079. .if \n-(b.=0 .nr c. \n(.c-\n(d.-6
  6080. .sp
  6081. .sp
  6082. .bp
  6083. .sp
  6084. .H 2 "Recommendations for CD-ROM Publishers"
  6085. .sp
  6086. Unless the CD-ROM is targetted at a specific collection of systems, the
  6087. values for major and minor numbers of device files will not identify
  6088. the correct values on the receiving system. 
  6089. Also the range of values for device file major and minor numbers
  6090. that a system can handle might be smaller than what can be recorded
  6091. on the CD-ROM.
  6092. When producing a CD-ROM to be used on various systems, it is recommended 
  6093. that the publisher number the device major and minor numbers consecutively
  6094. starting at 0 and provide the System Administrator with sufficient
  6095. information to map each recorded major and minor number to the appropriate
  6096. values for the target system.
  6097. .sp
  6098. .sp
  6099. .H 1 "BIBLIOGRAPHY"
  6100. .sp
  6101. .BL
  6102. .LI
  6103. ISO 9660:1988 - Information Processing - Volume and file structure of
  6104. CD-ROM for information interchange
  6105. .LI
  6106. IEEE Standard Portable Operating System Interface for Computer Environments,
  6107. IEEE std 1003.1-1988 (a.k.a POSIX Standard), New York, New York:IEEE
  6108. .LI
  6109. X/Open CD-ROM Support Component (XCDR), Version 4.0 December 1990
  6110. .LI
  6111. X/Open Portability Guide, Volume 3, XSI Supplementary Definitions,
  6112. Prentice Hall, 1989
  6113. .LI
  6114. System Use Sharing Protocol, Rock Ridge Group
  6115. .LI
  6116. Wong, T. September 12, 1989. Extensions to the ISO 9660 CD-ROM Volume
  6117. and File Structure Format to support POSIX File System Semantics.
  6118. .LE
  6119. .bp
  6120. .TC 1 1 4
  6121.